According to POSIX, wc should by default print the number of bytes and
not the number of chars
---
 wc.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/wc.c b/wc.c
index 0b196d8..a1d89d7 100644
--- a/wc.c
+++ b/wc.c
@@ -32,7 +32,7 @@ wc(FILE *fp, const char *str)
        size_t nc = 0, nl = 0, nw = 0;
 
        while ((rlen = efgetrune(&c, fp, str))) {
-               nc += (cmode == 'c') ? rlen :
+               nc += (cmode == 'c' || cmode == 0) ? rlen :
                      (c != Runeerror) ? 1 : 0;
                if (c == '\n')
                        nl++;
-- 
1.7.10.4


Reply via email to