Index: wc.c =================================================================== --- wc.c (revision 336835) +++ wc.c (working copy) @@ -216,7 +216,7 @@ * If all we need is the number of characters and it's a regular file, * just stat it. */ - if (doline == 0) { + if (doline == 0 && dolongline == 0) { if (fstat(fd, &sb)) { xo_warn("%s: fstat", file); (void)close(fd); @@ -246,7 +246,7 @@ if (siginfo) show_cnt(file, linect, wordct, charct, llct); charct += len; - if (doline) { + if (doline || dolongline) { for (p = buf; len--; ++p) if (*p == '\n') { if (tmpll > llct) @@ -262,10 +262,8 @@ tlinect += linect; if (dochar) tcharct += charct; - if (dolongline) { - if (llct > tlongline) - tlongline = llct; - } + if (dolongline && llct > tlongline) + tlongline = llct; show_cnt(file, linect, wordct, charct, llct); (void)close(fd); return (0); @@ -331,10 +329,8 @@ twordct += wordct; if (dochar || domulti) tcharct += charct; - if (dolongline) { - if (llct > tlongline) - tlongline = llct; - } + if (dolongline && llct > tlongline) + tlongline = llct; show_cnt(file, linect, wordct, charct, llct); (void)close(fd); return (0);