From a353a7cf3983cd9465f59f1f92d35c564f2fd4fa Mon Sep 17 00:00:00 2001 From: =?utf8?q?Janosch=20Gr=C3=A4f?= Date: Sat, 6 Dec 2008 19:11:32 +0100 Subject: [PATCH] stdlibc/stdio: check stream in fgets; set EOF flag in fgetc --- apps/lib/stdlibc/stdio.c | 26 ++++++++++++++++---------- 1 file changed, 16 insertions(+), 10 deletions(-) diff --git a/apps/lib/stdlibc/stdio.c b/apps/lib/stdlibc/stdio.c index e1b7f04..8f2269b 100644 --- a/apps/lib/stdlibc/stdio.c +++ b/apps/lib/stdlibc/stdio.c @@ -263,18 +263,24 @@ size_t _fwrite(const void *ptr,size_t size,FILE *stream) { */ char *fgets(char *s,int n,FILE *stream) { int i,chr; - for (i=0;i0) { - stream->error = errno; - return NULL; + if (check_stream(stream)) { + for (i=0;i0) { + stream->error = errno; + return NULL; + } + if (s[i]==0 || s[i]=='\n') break; } - if (s[i]==0 || s[i]=='\n') break; + s[i] = 0; + return s; + } + else { + errno = EBADF; + return NULL; } - s[i] = 0; - return s; } /** -- 2.11.4.GIT