cygwin port
[p5sagit/p5-mst-13.2.git] / sv.c
diff --git a/sv.c b/sv.c
index f6c0a1e..2f5ea0b 100644 (file)
--- 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;