summaryrefslogtreecommitdiff
path: root/utils/count
diff options
context:
space:
mode:
authorDan Gohman <gohman@apple.com>2010-06-01 14:09:29 +0000
committerDan Gohman <gohman@apple.com>2010-06-01 14:09:29 +0000
commitc6e1f67b17b4cb9d707af1245c1ecf00f91f23c0 (patch)
treea1903fb4ccca267050dfcdbc9c589166db956f65 /utils/count
parent11fe24624a307575eec82e9825ab8ba5435024a5 (diff)
Fix extra fread after EOF, non-wires-crossed version.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105270 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'utils/count')
-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 a37e1e0b254..ae96791ae49 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]);