summaryrefslogtreecommitdiff
path: root/src/stdio/__overflow.c
blob: 3bb37923abb847787878cf868d86bce570fb267e (plain)
1
2
3
4
5
6
7
8
9
10
#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;
}