getlines: last line of file should always have a newline
This is a useful behavior if you want to reorder the lines, because otherwise you might end up with originally two lines on one, e.g. $ echo -ne "foo\nbar" | sort barfoo
This commit is contained in:
parent
c1e6ecb41b
commit
66a5ea722d
|
@ -24,4 +24,9 @@ getlines(FILE *fp, struct linebuf *b)
|
|||
memcpy(b->lines[b->nlines-1], line, linelen);
|
||||
}
|
||||
free(line);
|
||||
if (strchr(b->lines[b->nlines-1], '\n') == NULL) {
|
||||
b->lines[b->nlines-1] = erealloc(b->lines[b->nlines-1], linelen + 1);
|
||||
b->lines[b->nlines-1][linelen-1] = '\n';
|
||||
b->lines[b->nlines-1][linelen] = '\0';
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue
Block a user