commit | 05b694028e0537954ea2d5e69774e0c24bf9ab47 | [log] [tgz] |
---|---|---|
author | Rich Felker <dalias@aerifal.cx> | Mon Mar 28 17:31:01 2011 -0400 |
committer | Rich Felker <dalias@aerifal.cx> | Mon Mar 28 17:31:01 2011 -0400 |
tree | 50933074aea2e442ea27677be498e8b071914d2a | |
parent | e3cd6c5c265cd481db6e0c5b529855d99f0bda30 [diff] |
fix getc - the classic error of trying to store EOF+0-255 in a char type..
diff --git a/src/stdio/__uflow.c b/src/stdio/__uflow.c index 544dda9..e28922c 100644 --- a/src/stdio/__uflow.c +++ b/src/stdio/__uflow.c
@@ -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; }