From f3116452b49a17a1b561a9fa082644bcb9c7a556 Mon Sep 17 00:00:00 2001 From: Manuel Novoa III Date: Mon, 7 May 2001 20:17:35 +0000 Subject: Fix fwrite return value bug reported by Matthias Kilian . --- libc/stdio/stdio.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'libc/stdio/stdio.c') diff --git a/libc/stdio/stdio.c b/libc/stdio/stdio.c index a7dd8a3ba..d3732dbdb 100644 --- a/libc/stdio/stdio.c +++ b/libc/stdio/stdio.c @@ -512,12 +512,13 @@ off_t _uClibc_fwrite(const unsigned char *buf, off_t bytes, FILE *fp) } FFLUSH: /* If we get here, either buffer is full or we need to flush anyway. */ + buf = fp->bufpos - (p - (unsigned char *)buf); p = NULL; } if (!p) { /* buf == NULL means fflush */ p = fp->bufstart; bytes = fp->bufpos - p; - buf = fp->bufpos = fp->bufwrite = p; + fp->bufpos = fp->bufwrite = p; } else if (fp->bufpos > fp->bufstart) { /* If there are buffered chars, */ _uClibc_fwrite(NULL, 0, fp); /* write them. */ if (ferror(fp)) { -- cgit v1.2.3