diff options
Diffstat (limited to 'src/stdio/__toread.c')
-rw-r--r-- | src/stdio/__toread.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/stdio/__toread.c b/src/stdio/__toread.c index 52624f3d..b08f5bb4 100644 --- a/src/stdio/__toread.c +++ b/src/stdio/__toread.c @@ -5,12 +5,12 @@ int __toread(FILE *f) f->mode |= f->mode-1; if (f->wpos > f->buf) f->write(f, 0, 0); f->wpos = f->wbase = f->wend = 0; - if (f->flags & (F_EOF|F_NORD)) { - if (f->flags & F_NORD) f->flags |= F_ERR; + if (f->flags & F_NORD) { + f->flags |= F_ERR; return EOF; } - f->rpos = f->rend = f->buf; - return 0; + f->rpos = f->rend = f->buf + f->buf_size; + return (f->flags & F_EOF) ? EOF : 0; } void __stdio_exit_needed(void); |