Check getline()-return-values properly

It's not useful when 0 is returned anyway, so be sure that we have a
string with length > 0, this also solves some indexing-gotchas like
"len - 1" and so on.
Also, add checked getline()'s whenever it has been forgotten and
clean up the error-messages.
This commit is contained in:
FRIGN
2015-03-27 14:49:48 +01:00
parent a516338581
commit 9144d51594
15 changed files with 22 additions and 21 deletions

2
head.c
View File

@@ -12,7 +12,7 @@ head(FILE *fp, const char *fname, size_t n)
size_t i = 0, size = 0;
ssize_t len;
while (i < n && (len = getline(&buf, &size, fp)) >= 0) {
while (i < n && (len = getline(&buf, &size, fp)) > 0) {
fputs(buf, stdout);
i += (len && (buf[len - 1] == '\n'));
}