1
0
mirror of https://sourceware.org/git/glibc.git synced 2025-07-30 22:43:12 +03:00

Make fwrite return 0 on EOF

This commit is contained in:
Siddhesh Poyarekar
2012-11-28 00:59:27 +05:30
parent c515fb5148
commit de2fd463b1
5 changed files with 86 additions and 11 deletions

View File

@ -42,12 +42,12 @@ _IO_fwrite (buf, size, count, fp)
if (_IO_vtable_offset (fp) != 0 || _IO_fwide (fp, -1) == -1)
written = _IO_sputn (fp, (const char *) buf, request);
_IO_release_lock (fp);
/* We have written all of the input in case the return value indicates
this or EOF is returned. The latter is a special case where we
simply did not manage to flush the buffer. But the data is in the
buffer and therefore written as far as fwrite is concerned. */
if (written == request || written == EOF)
/* We are guaranteed to have written all of the input, none of it, or
some of it. */
if (written == request)
return count;
else if (written == EOF)
return 0;
else
return written / size;
}