X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=quote.c;h=fc93435727db3b0634c390965258200c61d8b59b;hb=dab76d3aa682a340e886df84da33326368c38633;hp=acb6bf929f3e5807139fa7852f739e6ff5a50722;hpb=add0951ab0bee43b5f634d1be68a7a80f627c18f;p=git.git diff --git a/quote.c b/quote.c index acb6bf929..fc9343572 100644 --- a/quote.c +++ b/quote.c @@ -213,7 +213,7 @@ static size_t quote_c_style_counted(const char *name, ssize_t maxlen, int ch; len = next_quote_pos(p, maxlen); - if (len == maxlen || !p[len]) + if (len == maxlen || (maxlen < 0 && !p[len])) break; if (!no_dq && p == name) @@ -223,6 +223,8 @@ static size_t quote_c_style_counted(const char *name, ssize_t maxlen, EMIT('\\'); p += len; ch = (unsigned char)*p++; + if (maxlen >= 0) + maxlen -= len + 1; if (sq_lookup[ch] >= ' ') { EMIT(sq_lookup[ch]); } else {