From ad174804745a209a093fa78b8101d40dc2067b22 Mon Sep 17 00:00:00 2001 From: Tom Smeding Date: Sat, 20 Jul 2024 12:36:14 +0200 Subject: Repareer omd bij geen nieuwe regel --- src/io/lines.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/io/lines.c b/src/io/lines.c index 6367c1d..fd9c3a5 100644 --- a/src/io/lines.c +++ b/src/io/lines.c @@ -45,6 +45,7 @@ bool file_lines_read(struct file_lines *fl, struct string_view *dst) { // read a line size_t linelen = 0; + bool havenewline = true; while (true) { // grow buffer when small if (fl->cap - fl->cursor < 1024) { @@ -64,6 +65,7 @@ bool file_lines_read(struct file_lines *fl, struct string_view *dst) { if (feof(fl->f)) { if (fl->cursor == 0) return false; linelen = fl->cursor; + havenewline = false; break; } if (fl->fname) fprintf(stderr, "%s: Fout bij lezen van bestand '%s'\n", fl->progname, fl->fname); @@ -83,7 +85,7 @@ bool file_lines_read(struct file_lines *fl, struct string_view *dst) { // we have a newline at buffer + linelen; return lines in buffer dst->s = fl->buffer; dst->len = linelen; - fl->readfrom = linelen + 1; + fl->readfrom = linelen + havenewline; return true; } -- cgit v1.2.3-70-g09d2