projects
/
musl
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fix dup3 ignoring all flags but O_CLOEXEC on archs with SYS_dup2 syscall
[musl]
/
src
/
stdio
/
__toread.c
diff --git
a/src/stdio/__toread.c
b/src/stdio/__toread.c
index
52624f3
..
f142ff0
100644
(file)
--- a/
src/stdio/__toread.c
+++ b/
src/stdio/__toread.c
@@
-3,19
+3,17
@@
int __toread(FILE *f)
{
f->mode |= f->mode-1;
int __toread(FILE *f)
{
f->mode |= f->mode-1;
- if (f->wpos
> f->buf
) f->write(f, 0, 0);
+ if (f->wpos
!= f->wbase
) f->write(f, 0, 0);
f->wpos = f->wbase = f->wend = 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;
}
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);
-
-void __toread_needs_stdio_exit()
+hidden void __toread_needs_stdio_exit()
{
__stdio_exit_needed();
}
{
__stdio_exit_needed();
}