b4587419dddbc8585c42ef7126b1a198950aaae2
[musl] / src / stdio / __towrite.c
1 #include "stdio_impl.h"
2
3 int __towrite(FILE *f)
4 {
5         f->mode |= f->mode-1;
6         if (f->flags & (F_NOWR)) {
7                 f->flags |= F_ERR;
8                 return EOF;
9         }
10         /* Clear read buffer (easier than summoning nasal demons) */
11         f->rpos = f->rend = 0;
12
13         /* Activate write through the buffer. */
14         f->wpos = f->wbase = f->buf;
15         f->wend = f->buf + f->buf_size;
16
17         return 0;
18 }
19
20 /* Link flush-on-exit code iff any stdio write functions are linked. */
21 int (*const __fflush_on_exit)(FILE *) = fflush;