From f356c4ab915da052d17b7e5d2ffb5d1a695c95f0 Mon Sep 17 00:00:00 2001 From: Rodrigo Tobar Date: Wed, 27 Oct 2021 10:58:38 +0800 Subject: [PATCH] wc: Count last line even if it doesn't end in newline --- Userland/Utilities/wc.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Userland/Utilities/wc.cpp b/Userland/Utilities/wc.cpp index dc36e768c5..1e9d3b54a0 100644 --- a/Userland/Utilities/wc.cpp +++ b/Userland/Utilities/wc.cpp @@ -55,7 +55,9 @@ static Count get_count(const String& file_specifier) } bool start_a_new_word = true; + int last_ch = EOF; for (int ch = fgetc(file_pointer); ch != EOF; ch = fgetc(file_pointer)) { + last_ch = ch; count.bytes++; if (isspace(ch)) { start_a_new_word = true; @@ -66,6 +68,8 @@ static Count get_count(const String& file_specifier) count.words++; } } + if (last_ch != '\n') + count.lines++; if (file_pointer != stdin) fclose(file_pointer);