[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[tyndur-devel] [PATCH] Libc: Fix fuer EOF-Erkennung in fgets()



Libc: Wenn fgets() das Ende der Eingabe vor einem Zeilenumbruch erreichte,
      fuehrte das bis jetzt zu einer Endlosschleife.

Signed-off-by: Antoine Kaufmann <toni@xxxxxxxxxx>
---
 src/modules/lib/stdlibc/file.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/src/modules/lib/stdlibc/file.c b/src/modules/lib/stdlibc/file.c
index c40abcb..45e24f2 100644
--- a/src/modules/lib/stdlibc/file.c
+++ b/src/modules/lib/stdlibc/file.c
@@ -361,6 +361,8 @@ char* fgets(char* dest, int length, FILE *io_res)
         if ((c == EOF) && (ferror(io_res) != 0)) {
             i = 0;
             break;
+        } else if (feof(io_res)) {
+            break;
         } else if (c == EOF) {
             i--;
             continue;
-- 
1.6.4.4