1 #include <stdio_impl.h>
2 
__toread(FILE *f)3 int __toread(FILE *f)
4 {
5 	f->mode |= f->mode-1;
6 	if (f->wpos != f->wbase) f->write(f, 0, 0);
7 	f->wpos = f->wbase = f->wend = 0;
8 	if (f->flags & F_NORD) {
9 		f->flags |= F_ERR;
10 		return EOF;
11 	}
12 
13 	/* Alloc file buffer if needed */
14 	if (__falloc_buf(f) < 0) {
15 		f->flags |= F_ERR;
16 		return EOF;
17 	}
18 
19 	f->rpos = f->rend = f->buf + f->buf_size;
20 
21 	return (f->flags & F_EOF) ? EOF : 0;
22 }
23 
__toread_needs_stdio_exitnull24 hidden void __toread_needs_stdio_exit()
25 {
26 	__stdio_exit_needed();
27 }
28