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:
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)