diff options
author | Christian Neukirchen <chneukirchen@gmail.com> | 2016-07-26 16:53:36 +0200 |
---|---|---|
committer | Christian Neukirchen <chneukirchen@gmail.com> | 2016-07-26 16:53:36 +0200 |
commit | 1fd83bf1a8279cd9b2be83db0eaba67831ebc6ca (patch) | |
tree | c3536a168ed54f093352bcfd8021247e2ec9d8d4 | |
parent | 69aa1740e5edc8644c842a371b94904ab704f9f2 (diff) | |
download | mblaze-1fd83bf1a8279cd9b2be83db0eaba67831ebc6ca.tar.gz mblaze-1fd83bf1a8279cd9b2be83db0eaba67831ebc6ca.tar.xz mblaze-1fd83bf1a8279cd9b2be83db0eaba67831ebc6ca.zip |
mscan: tweak output
-rw-r--r-- | mscan.c | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/mscan.c b/mscan.c index 6a34708..94afb2c 100644 --- a/mscan.c +++ b/mscan.c @@ -24,9 +24,9 @@ static char *aliases[32]; static int alias_idx; void -u8putstr(FILE *out, char *s, size_t l, int pad) +u8putstr(FILE *out, char *s, ssize_t l, int pad) { - while (*s && l) { + while (*s && l > 0) { if (*s == '\t') *s = ' '; if (*s >= 32 && *s < 127) { @@ -41,8 +41,9 @@ u8putstr(FILE *out, char *s, size_t l, int pad) wc = replacement; } s += r; - fprintf(out, "%lc", wc); l -= wcwidth(wc); + if (l >= 0) + fprintf(out, "%lc", wc); } } if (pad) @@ -178,8 +179,8 @@ oneline(char *file) printf("%c%c %-3ld %-10s ", flag1, flag2, lineno, date); else printf("%c%c %-10s ", flag1, flag2, date); - u8putstr(stdout, fromdec, 17, 1); - printf("%c ", flag3); + u8putstr(stdout, fromdec, 16, 1); + printf(" %c ", flag3); int z; if (indent > 18) { printf("..%2d.. ", indent/2); |