aboutsummaryrefslogtreecommitdiff
path: root/src/stdio/__overflow.c
blob: 6618a50f3be71354c2ec287eb79cc26ebb8dc2fd (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include "stdio_impl.h"

int __overflow(FILE *f, int _c)
{
	unsigned char c = _c;
	if (!f->wend && __towrite(f)) return EOF;
	if (f->wpos != f->wend && c != f->lbf) return *f->wpos++ = c;
	if (f->write(f, &c, 1)!=1) return EOF;
	return c;
}


#ifdef TEST
int
main(void) {
	return 0;
}
#endif