xref: /aosp_15_r20/external/musl/src/stdio/__towrite.c (revision c9945492fdd68bbe62686c5b452b4dc1be3f8453)
1*c9945492SAndroid Build Coastguard Worker #include "stdio_impl.h"
2*c9945492SAndroid Build Coastguard Worker 
__towrite(FILE * f)3*c9945492SAndroid Build Coastguard Worker int __towrite(FILE *f)
4*c9945492SAndroid Build Coastguard Worker {
5*c9945492SAndroid Build Coastguard Worker 	f->mode |= f->mode-1;
6*c9945492SAndroid Build Coastguard Worker 	if (f->flags & F_NOWR) {
7*c9945492SAndroid Build Coastguard Worker 		f->flags |= F_ERR;
8*c9945492SAndroid Build Coastguard Worker 		return EOF;
9*c9945492SAndroid Build Coastguard Worker 	}
10*c9945492SAndroid Build Coastguard Worker 	/* Clear read buffer (easier than summoning nasal demons) */
11*c9945492SAndroid Build Coastguard Worker 	f->rpos = f->rend = 0;
12*c9945492SAndroid Build Coastguard Worker 
13*c9945492SAndroid Build Coastguard Worker 	/* Activate write through the buffer. */
14*c9945492SAndroid Build Coastguard Worker 	f->wpos = f->wbase = f->buf;
15*c9945492SAndroid Build Coastguard Worker 	f->wend = f->buf + f->buf_size;
16*c9945492SAndroid Build Coastguard Worker 
17*c9945492SAndroid Build Coastguard Worker 	return 0;
18*c9945492SAndroid Build Coastguard Worker }
19*c9945492SAndroid Build Coastguard Worker 
__towrite_needs_stdio_exit()20*c9945492SAndroid Build Coastguard Worker hidden void __towrite_needs_stdio_exit()
21*c9945492SAndroid Build Coastguard Worker {
22*c9945492SAndroid Build Coastguard Worker 	__stdio_exit_needed();
23*c9945492SAndroid Build Coastguard Worker }
24