diff options
Diffstat (limited to 'newlib/libc/stdio/fvwrite.c')
-rw-r--r-- | newlib/libc/stdio/fvwrite.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/newlib/libc/stdio/fvwrite.c b/newlib/libc/stdio/fvwrite.c index f036d74..1cb6e0d 100644 --- a/newlib/libc/stdio/fvwrite.c +++ b/newlib/libc/stdio/fvwrite.c @@ -20,6 +20,7 @@ #include <stdio.h> #include <string.h> #include <stdlib.h> +#include <errno.h> #include "local.h" #include "fvwrite.h" @@ -43,7 +44,8 @@ */ int -_DEFUN(__sfvwrite, (fp, uio), +_DEFUN(__sfvwrite_r, (ptr, fp, uio), + struct _reent *ptr _AND register FILE *fp _AND register struct __suio *uio) { @@ -59,7 +61,11 @@ _DEFUN(__sfvwrite, (fp, uio), /* make sure we can write */ if (cantwrite (fp)) - return EOF; + { + fp->_flags |= __SERR; + ptr->_errno = EBADF; + return EOF; + } iov = uio->uio_iov; len = 0; |