diff --git a/strings.c b/strings.c index 76b3316..a99642e 100644 --- a/strings.c +++ b/strings.c @@ -23,23 +23,21 @@ strings(FILE *fp, const char *fname, size_t len) if (r == Runeerror) continue; if (!isprintrune(r)) { - if (i > len) + if (i == len) putchar('\n'); i = 0; continue; } - if (i < len) { - rbuf[i++] = r; - continue; - } else if (i > len) { + if (i == len) { efputrune(&r, stdout, ""); continue; } + rbuf[i++] = r; + if (i < len) + continue; printf(format, (long)off - i); for (i = 0; i < len; i++) efputrune(rbuf + i, stdout, ""); - efputrune(&r, stdout, ""); - i++; } free(rbuf); }