wc

Count words in <50 lines of C
Log | Files | Refs | README

commit 727a6f6485e014bdd810c73e00329ff2a6a6ff51
parent 443b7503f934abb5c97219ebaadf36d3b61cf7f8
Author: NunoSempere <nuno.sempere@protonmail.com>
Date:   Fri,  8 Sep 2023 23:38:51 +0200

further progress.

Diffstat:
Mwc | 0
Mwc.c | 17++++++++++++++++-
2 files changed, 16 insertions(+), 1 deletion(-)

diff --git a/wc b/wc Binary files differ. diff --git a/wc.c b/wc.c @@ -5,9 +5,24 @@ int process_fn(int fn) { char c[1]; + int seen_word=0; + int seen_sep=0; + int num_words = 0; while (read(fn, c, sizeof(c)) > 0) { - printf("%c", c[0]); + if(*c == '\n' || *c == ' ' || *c == '\t'){ + seen_sep = 1; + } else { + seen_word = 1; + } + if(seen_word && seen_sep){ + num_words++; + seen_sep = seen_word = 0; + } } + if(seen_word){ + num_words++; + } + printf("%i\n",num_words); return 0; }