X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/7086ee95576e95aec1b54ad73c6fa6ead9186a3d..4a78cbcd4fa986d9c1e7bd0a5a4bdb619faeb7cb:/sbr/fmt_scan.c diff --git a/sbr/fmt_scan.c b/sbr/fmt_scan.c index fe2a0044..9b84861c 100644 --- a/sbr/fmt_scan.c +++ b/sbr/fmt_scan.c @@ -175,11 +175,11 @@ cptrimmed(char **dest, char **ep, char *str, unsigned int wid, char fill, * widths, so use the column width to bump the end pointer when * appropriate. */ - if (char_len > 1 && epmax - *ep >= char_len - w) { + if (w >= 0 && char_len > 1 && epmax - *ep >= char_len - w) { *ep += char_len - w; } - if (cp + w > *ep) + if (w >= 0 && cp + w > *ep) break; end -= char_len; @@ -278,7 +278,7 @@ cpstripped (char **dest, char **end, char *max, char *str) * by the number of "extra" bytes in this character. That's the * character length (char_len) minus the column width (w). */ - if (char_len > 1 && max - *end >= char_len - w) { + if (w >= 0 && char_len > 1 && max - *end >= char_len - w) { *end += char_len - w; }