X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=sv.c;h=7dd83cc13fd00a4d1eeb0a06ee6aa200542f9057;hb=b9b4dddfa592f0a0a9bfbbcc9a725253c5d991f1;hp=4fa44986add687c5206da85a6052033910978d1c;hpb=31e9c0d8ae1a948e181043fe77f9d846bfe48599;p=p5sagit%2Fp5-mst-13.2.git diff --git a/sv.c b/sv.c index 4fa4498..7dd83cc 100644 --- a/sv.c +++ b/sv.c @@ -8919,13 +8919,17 @@ Perl_sv_vcatpvfn(pTHX_ SV *sv, const char *pat, STRLEN patlen, va_list *args, SV else { eptr = SvPVx_const(argsv, elen); if (DO_UTF8(argsv)) { + I32 old_precis = precis; if (has_precis && precis < elen) { I32 p = precis; sv_pos_u2b(argsv, &p, 0); /* sticks at end */ precis = p; } if (width) { /* fudge width (can't fudge elen) */ - width += elen - sv_len_utf8(argsv); + if (has_precis && precis < elen) + width += precis - old_precis; + else + width += elen - sv_len_utf8(argsv); } is_utf8 = TRUE; }