From 32053042d4785ffeae3a032808480c8dc2f98607 Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Fri, 23 Sep 2005 16:36:09 +0000 Subject: [BZ #394] 2005-09-23 Ulrich Drepper [BZ #394] * libio/fmemopen.c (fmemopen_write): Return 0 instead of -1 if nothing can be written. * libio/iofopncook.c (_IO_cookie_write): If something went wrong, set error bit. --- libio/iofopncook.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) (limited to 'libio/iofopncook.c') diff --git a/libio/iofopncook.c b/libio/iofopncook.c index 9c5503d..976ff50 100644 --- a/libio/iofopncook.c +++ b/libio/iofopncook.c @@ -64,9 +64,16 @@ _IO_cookie_write (fp, buf, size) struct _IO_cookie_file *cfile = (struct _IO_cookie_file *) fp; if (cfile->__io_functions.write == NULL) - return -1; + { + fp->_flags |= _IO_ERR_SEEN; + return 0; + } + + _IO_ssize_t n = cfile->__io_functions.write (cfile->__cookie, buf, size); + if (n < size) + fp->_flags |= _IO_ERR_SEEN; - return cfile->__io_functions.write (cfile->__cookie, buf, size); + return n; } static _IO_off64_t -- cgit v1.1