summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--utils/count/count.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/utils/count/count.c b/utils/count/count.c
index a37e1e0b25..ae96791ae4 100644
--- a/utils/count/count.c
+++ b/utils/count/count.c
@@ -26,13 +26,15 @@ int main(int argc, char **argv) {
}
NumLines = 0;
- while ((NumRead = fread(Buffer, 1, sizeof(Buffer), stdin))) {
+ do {
unsigned i;
+ NumRead = fread(Buffer, 1, sizeof(Buffer), stdin);
+
for (i = 0; i != NumRead; ++i)
if (Buffer[i] == '\n')
++NumLines;
- }
+ } while (NumRead == sizeof(Buffer));
if (!feof(stdin)) {
fprintf(stderr, "%s: error reading stdin\n", argv[0]);