]> pd.if.org Git - pdclib/blobdiff - functions/stdio/fgetc.c
Type error resulting in improper handling of values > 127 and EOF.
[pdclib] / functions / stdio / fgetc.c
index 667bfedc1134f5527b8c81706980b15b55b7bea6..b5a32572158fd89dc2875d65dfca75407073d231 100644 (file)
@@ -8,10 +8,10 @@
 
 #include <stdio.h>
 
-#ifndef REGTEST
-
 #include <_PDCLIB_glue.h>
 
+#ifndef REGTEST
+
 int fgetc( struct _PDCLIB_file_t * stream )
 {
     if ( _PDCLIB_prepread( stream ) == EOF )
@@ -20,9 +20,9 @@ int fgetc( struct _PDCLIB_file_t * stream )
     }
     if ( stream->ungetidx > 0 )
     {
-        return stream->ungetbuf[ stream->ungetidx-- ];
+        return (unsigned char)stream->ungetbuf[ --(stream->ungetidx) ];
     }
-    return stream->buffer[stream->bufidx++];
+    return (unsigned char)stream->buffer[stream->bufidx++];
 }
 
 #endif