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

View File

@@ -13,7 +13,7 @@ getlines(FILE *fp, struct linebuf *b)
size_t size = 0, linelen;
ssize_t len;
while ((len = getline(&line, &size, fp)) != -1) {
while ((len = getline(&line, &size, fp)) > 0) {
if (++b->nlines > b->capacity) {
b->capacity += 512;
nline = erealloc(b->lines, b->capacity * sizeof(*b->lines));