BSD 4_4_Lite2 development
[unix-history] / usr / src / contrib / flex-2.5.2 / MISC / fastwc / mywc.c
CommitLineData
ba3ea613
C
1/* A simple but fairly efficient C version of the Unix "wc" tool */
2
3#include <stdio.h>
4#include <ctype.h>
5
6main()
7{
8 register int c, cc = 0, wc = 0, lc = 0;
9 FILE *f = stdin;
10
11 while ((c = getc(f)) != EOF) {
12 ++cc;
13 if (isgraph(c)) {
14 ++wc;
15 do {
16 c = getc(f);
17 if (c == EOF)
18 goto done;
19 ++cc;
20 } while (isgraph(c));
21 }
22 if (c == '\n')
23 ++lc;
24 }
25done: printf( "%8d%8d%8d\n", lc, wc, cc );
26}