fix getc - the classic error of trying to store EOF+0-255 in a char type..
authorRich Felker <dalias@aerifal.cx>
Mon, 28 Mar 2011 21:31:01 +0000 (17:31 -0400)
committerRich Felker <dalias@aerifal.cx>
Mon, 28 Mar 2011 21:31:01 +0000 (17:31 -0400)
src/stdio/__uflow.c

index 544dda9..e28922c 100644 (file)
@@ -5,7 +5,7 @@
 
 int __uflow(FILE *f)
 {
-       unsigned char c = EOF;
-       if (f->rend || !__toread(f)) f->read(f, &c, 1);
-       return c;
+       unsigned char c;
+       if ((f->rend || !__toread(f)) && f->read(f, &c, 1)==1) return c;
+       return EOF;
 }