summaryrefslogtreecommitdiff
path: root/libbb/get_line_from_file.c
diff options
context:
space:
mode:
Diffstat (limited to 'libbb/get_line_from_file.c')
-rw-r--r--libbb/get_line_from_file.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/libbb/get_line_from_file.c b/libbb/get_line_from_file.c
index a0ed919..9be1068 100644
--- a/libbb/get_line_from_file.c
+++ b/libbb/get_line_from_file.c
@@ -44,8 +44,12 @@ char* FAST_FUNC bb_get_chunk_with_continuation(FILE *file, int *end, int *lineno
idx -= 2;
}
}
- if (end)
+ if (end) {
*end = idx;
+ /* handle corner case when the file is not ended with '\n' */
+ if (ch == EOF && lineno != NULL)
+ (*lineno)++;
+ }
if (linebuf) {
// huh, does fgets discard prior data on error like this?
// I don't think so....