diff options
Diffstat (limited to 'mdk-stage1/dietlibc/libstdio/ungetc.c')
-rw-r--r-- | mdk-stage1/dietlibc/libstdio/ungetc.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/mdk-stage1/dietlibc/libstdio/ungetc.c b/mdk-stage1/dietlibc/libstdio/ungetc.c index ae03e9381..133e92820 100644 --- a/mdk-stage1/dietlibc/libstdio/ungetc.c +++ b/mdk-stage1/dietlibc/libstdio/ungetc.c @@ -1,11 +1,10 @@ #include "dietstdio.h" -#ifdef WANT_UNGETC int ungetc(int c, FILE *stream) { - if (stream->ungotten) + if (stream->ungotten || c<0 || c>255) return EOF; stream->ungotten=1; - stream->ungetbuf=(char)(unsigned char)c; + stream->ungetbuf=(unsigned char)c; + stream->flags&=~(ERRORINDICATOR|EOFINDICATOR); return c; } -#endif |