X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=sv.c;h=2f5ea0b7b7a2d5cd0074400dd5c87310ea5f0d68;hb=6b49d2665cf5b4cee8758bc654f9290f3855049e;hp=f6c0a1ee76f4e1b5b09614bdeaf9c8962c67ac65;hpb=b22c7a20398f928f9697b491d180b979ff211bd6;p=p5sagit%2Fp5-mst-13.2.git diff --git a/sv.c b/sv.c index f6c0a1e..2f5ea0b 100644 --- a/sv.c +++ b/sv.c @@ -5741,7 +5741,7 @@ Perl_sv_vcatpvfn(pTHX_ SV *sv, const char *pat, STRLEN patlen, va_list *args, SV bool is_utf = FALSE; char esignbuf[4]; - U8 utf8buf[10]; + U8 utf8buf[UTF8_MAXLEN]; STRLEN esignlen = 0; char *eptr = Nullch; @@ -5754,7 +5754,7 @@ Perl_sv_vcatpvfn(pTHX_ SV *sv, const char *pat, STRLEN patlen, va_list *args, SV /* what about long double NVs? --jhi */ SV *vecsv; - char *vecstr = Nullch; + U8 *vecstr = Null(U8*); STRLEN veclen = 0; char c; int i; @@ -5819,7 +5819,7 @@ Perl_sv_vcatpvfn(pTHX_ SV *sv, const char *pat, STRLEN patlen, va_list *args, SV vecsv = va_arg(*args, SV*); else if (svix < svmax) vecsv = svargs[svix++]; - vecstr = SvPVx(vecsv,veclen); + vecstr = (U8*)SvPVx(vecsv,veclen); utf = DO_UTF8(vecsv); continue; @@ -6005,7 +6005,7 @@ Perl_sv_vcatpvfn(pTHX_ SV *sv, const char *pat, STRLEN patlen, va_list *args, SV if (utf) iv = (IV)utf8_to_uv(vecstr, &ulen); else { - iv = (U8)*vecstr; + iv = *vecstr; ulen = 1; } vecstr += ulen; @@ -6087,7 +6087,7 @@ Perl_sv_vcatpvfn(pTHX_ SV *sv, const char *pat, STRLEN patlen, va_list *args, SV if (utf) uv = utf8_to_uv(vecstr, &ulen); else { - uv = (U8)*vecstr; + uv = *vecstr; ulen = 1; } vecstr += ulen;