9os

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README | LICENSE

commit fd232eee168cbf4c6da8f5c0af256b04ceae159c
parent 80d256bfaa2722290c76f352343e6acfa6219f50
Author: Dimitris Papastamos <dimitris.papastamos@arm.com>
Date:   Fri,  9 Nov 2018 13:26:18 +0000

Merge "Fix getln/fgetc"
Diffstat:
Msrc/libc/stdio/fgets.c | 6+++---
Msrc/libk/kgetln.c | 6+++---
2 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/src/libc/stdio/fgets.c b/src/libc/stdio/fgets.c @@ -5,10 +5,10 @@ char * fgets(char *s, int n, FILE *fp) { int ch = 0; - char *t; + char *t = s; - for (t = s; --n > 0; ++t) { - if ((ch = getc(fp)) == EOF || (*t = ch) == '\n') + while (--n > 0 && (ch = getc(fp)) != EOF) { + if ((*t++ = ch) == '\n') break; } if (ch == EOF && s == t) diff --git a/src/libk/kgetln.c b/src/libk/kgetln.c @@ -6,10 +6,10 @@ char * kgetln(char *s, int n) { int ch = 0; - char *t; + char *t = s; - for (t = s; --n > 0; ++t) { - if ((ch = kgetc()) == EOF || (*t = ch) == '\n') + while (--n > 0 && (ch = kgetc()) != EOF) { + if ((*t++ = ch) == '\n') break; } if (ch == EOF && s == t)