• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 #include "stdio_impl.h"
2 
ungetc(int c,FILE * f)3 int ungetc(int c, FILE *f)
4 {
5 	if (c == EOF) return c;
6 
7 	FLOCK(f);
8 
9 	if (!f->rpos) __toread(f);
10 	if (!f->rpos || f->rpos <= f->buf - UNGET) {
11 		FUNLOCK(f);
12 		return EOF;
13 	}
14 
15 	*--f->rpos = c;
16 	f->flags &= ~F_EOF;
17 
18 	FUNLOCK(f);
19 	return (unsigned char)c;
20 }
21