diff options
author | Rob Landley <rob@landley.net> | 2018-06-21 00:25:35 -0500 |
---|---|---|
committer | Rob Landley <rob@landley.net> | 2018-06-21 00:25:35 -0500 |
commit | f8c93b1ec6f9c8356e5c368cbf9963ce0900b35d (patch) | |
tree | 3a214135809b304883530a0afc0a6ed34a57af1d /toys/pending/fmt.c | |
parent | 84015ca09da250e8ea46f2e212efa51274af4124 (diff) | |
download | toybox-f8c93b1ec6f9c8356e5c368cbf9963ce0900b35d.tar.gz |
Tweak fmt width calculation.
Diffstat (limited to 'toys/pending/fmt.c')
-rw-r--r-- | toys/pending/fmt.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/toys/pending/fmt.c b/toys/pending/fmt.c index 64df69da..a3d30f02 100644 --- a/toys/pending/fmt.c +++ b/toys/pending/fmt.c @@ -74,15 +74,15 @@ static void fmt_line(char **pline, long len) while (idx<len && !isspace(line[idx])) idx++; line[idx++] = 0; count = utf8len(word); - if (TT.pos+count>=TT.width) newline(); + if (TT.pos+count+!!TT.pos>=TT.width) newline(); // When indenting a new line, preserve tab/space mixture of input if (!TT.pos) { - TT.pos = TT.level-1; + TT.pos = TT.level; if (indent) printf("%.*s", indent, line); - } - printf(" %s"+!(TT.pos!=TT.level-1), word); - TT.pos += count+1; + } else count++; + printf(" %s"+!(TT.pos!=TT.level), word); + TT.pos += count; while (isspace(line[idx])) idx++; } } |