blead 25801: Symbian batch of today
[p5sagit/p5-mst-13.2.git] / doop.c
diff --git a/doop.c b/doop.c
index 6ec3613..9e55103 100644 (file)
--- a/doop.c
+++ b/doop.c
@@ -60,7 +60,7 @@ S_do_trans_simple(pTHX_ SV *sv)
 
     /* Allow for expansion: $_="a".chr(400); tr/a/\xFE/, FE needs encoding */
     if (grows)
-       New(0, d, len*2+1, U8);
+       Newx(d, len*2+1, U8);
     else
        d = s;
     dstart = d;
@@ -190,7 +190,7 @@ S_do_trans_complex(pTHX_ SV *sv)
     }
     else { /* isutf8 */
        if (grows)
-           New(0, d, len*2+1, U8);
+           Newx(d, len*2+1, U8);
        else
            d = s;
        dstart = d;
@@ -337,7 +337,7 @@ S_do_trans_simple_utf8(pTHX_ SV *sv)
 
     if (grows) {
        /* d needs to be bigger than s, in case e.g. upgrading is required */
-       New(0, d, len * 3 + UTF8_MAXBYTES, U8);
+       Newx(d, len * 3 + UTF8_MAXBYTES, U8);
        dend = d + len * 3;
        dstart = d;
     }
@@ -477,7 +477,7 @@ S_do_trans_complex_utf8(pTHX_ SV *sv)
 
     if (grows) {
        /* d needs to be bigger than s, in case e.g. upgrading is required */
-       New(0, d, len * 3 + UTF8_MAXBYTES, U8);
+       Newx(d, len * 3 + UTF8_MAXBYTES, U8);
        dend = d + len * 3;
        dstart = d;
     }
@@ -977,7 +977,7 @@ Perl_do_chop(pTHX_ register SV *astr, register SV *sv)
            s = send - 1;
            while (s > start && UTF8_IS_CONTINUATION(*s))
                s--;
-           if (utf8_to_uvchr((U8*)s, 0)) {
+           if (is_utf8_string((U8*)s, send - s)) {
                sv_setpvn(astr, s, send - s);
                *s = '\0';
                SvCUR_set(sv, s - start);
@@ -1017,7 +1017,7 @@ Perl_do_chomp(pTHX_ register SV *sv)
     count = 0;
     if (SvTYPE(sv) == SVt_PVAV) {
        register I32 i;
-       AV* av = (AV*)sv;
+       AV* const av = (AV*)sv;
        const I32 max = AvFILL(av);
 
        for (i = 0; i <= max; i++) {
@@ -1028,7 +1028,7 @@ Perl_do_chomp(pTHX_ register SV *sv)
         return count;
     }
     else if (SvTYPE(sv) == SVt_PVHV) {
-        HV* hv = (HV*)sv;
+       HV* const hv = (HV*)sv;
        HE* entry;
         (void)hv_iterinit(hv);
         while ((entry = hv_iternext(hv)))
@@ -1170,11 +1170,10 @@ Perl_do_vop(pTHX_ I32 optype, SV *sv, SV *left, SV *right)
     lensave = len;
     if ((left_utf || right_utf) && (sv == left || sv == right)) {
        needlen = optype == OP_BIT_AND ? len : leftlen + rightlen;
-       Newz(801, dc, needlen + 1, char);
+       Newxz(dc, needlen + 1, char);
     }
     else if (SvOK(sv) || SvTYPE(sv) > SVt_PVMG) {
-       STRLEN n_a;
-       dc = SvPV_force_nomg(sv, n_a);
+       dc = SvPV_force_nomg_nolen(sv);
        if (SvCUR(sv) < (STRLEN)len) {
            dc = SvGROW(sv, (STRLEN)(len + 1));
            (void)memzero(dc + SvCUR(sv), len - SvCUR(sv) + 1);
@@ -1185,7 +1184,7 @@ Perl_do_vop(pTHX_ I32 optype, SV *sv, SV *left, SV *right)
     else {
        needlen = ((optype == OP_BIT_AND)
                    ? len : (leftlen > rightlen ? leftlen : rightlen));
-       Newz(801, dc, needlen + 1, char);
+       Newxz(dc, needlen + 1, char);
        (void)sv_usepvn(sv, dc, needlen);
        dc = SvPVX(sv);         /* sv_usepvn() calls Renew() */
     }
@@ -1390,7 +1389,7 @@ Perl_do_kv(pTHX)
     while ((entry = hv_iternext(keys))) {
        SPAGAIN;
        if (dokeys) {
-           SV* sv = hv_iterkeysv(entry);
+           SV* const sv = hv_iterkeysv(entry);
            XPUSHs(sv); /* won't clobber stack_sp */
        }
        if (dovalues) {