This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
ensure implicitly closed handles don't set $? or $!
[perl5.git] / pp.c
diff --git a/pp.c b/pp.c
index c112208..c7fd585 100644 (file)
--- a/pp.c
+++ b/pp.c
@@ -2308,7 +2308,8 @@ PP(pp_ucfirst)
            s = (U8*)SvPV_force(sv, slen);
            Copy(tmpbuf, s, ulen, U8);
        }
-    } else {
+    }
+    else {
        if (!SvPADTMP(sv)) {
            dTARGET;
            sv_setsv(TARG, sv);
@@ -2364,7 +2365,8 @@ PP(pp_lcfirst)
            s = (U8*)SvPV_force(sv, slen);
            Copy(tmpbuf, s, ulen, U8);
        }
-    } else {
+    }
+    else {
        if (!SvPADTMP(sv)) {
            dTARGET;
            sv_setsv(TARG, sv);
@@ -2405,7 +2407,8 @@ PP(pp_uc)
        if (!len) {
            sv_setpvn(TARG, "", 0);
            SETs(TARG);
-       } else {
+       }
+       else {
            (void)SvUPGRADE(TARG, SVt_PV);
            SvGROW(TARG, (len * 2) + 1);
            (void)SvPOK_only(TARG);
@@ -2429,7 +2432,8 @@ PP(pp_uc)
            SvCUR_set(TARG, d - (U8*)SvPVX(TARG));
            SETs(TARG);
        }
-    } else {
+    }
+    else {
        if (!SvPADTMP(sv)) {
            dTARGET;
            sv_setsv(TARG, sv);
@@ -2474,7 +2478,8 @@ PP(pp_lc)
        if (!len) {
            sv_setpvn(TARG, "", 0);
            SETs(TARG);
-       } else {
+       }
+       else {
            (void)SvUPGRADE(TARG, SVt_PV);
            SvGROW(TARG, (len * 2) + 1);
            (void)SvPOK_only(TARG);
@@ -2498,7 +2503,8 @@ PP(pp_lc)
            SvCUR_set(TARG, d - (U8*)SvPVX(TARG));
            SETs(TARG);
        }
-    } else {
+    }
+    else {
        if (!SvPADTMP(sv)) {
            dTARGET;
            sv_setsv(TARG, sv);
@@ -2625,7 +2631,7 @@ PP(pp_aslice)
 
 PP(pp_each)
 {
-    djSP; dTARGET;
+    djSP;
     HV *hash = (HV*)POPs;
     HE *entry;
     I32 gimme = GIMME_V;
@@ -2640,12 +2646,13 @@ PP(pp_each)
     if (entry) {
        PUSHs(hv_iterkeysv(entry));     /* won't clobber stack_sp */
        if (gimme == G_ARRAY) {
+           SV *val;
            PUTBACK;
            /* might clobber stack_sp */
-           sv_setsv(TARG, realhv ?
-                    hv_iterval(hash, entry) : avhv_iterval((AV*)hash, entry));
+           val = realhv ?
+                 hv_iterval(hash, entry) : avhv_iterval((AV*)hash, entry);
            SPAGAIN;
-           PUSHs(TARG);
+           PUSHs(val);
        }
     }
     else if (gimme == G_SCALAR)
@@ -3193,7 +3200,9 @@ PP(pp_reverse)
                        s += UTF8SKIP(s);
                        down = (char*)(s - 1);
                        if (s > send || !((*down & 0xc0) == 0x80)) {
-                           Perl_warn(aTHX_ "Malformed UTF-8 character");
+                           if (ckWARN_d(WARN_UTF8))
+                               Perl_warner(aTHX_ WARN_UTF8,
+                                           "Malformed UTF-8 character");
                            break;
                        }
                        while (down > up) {
@@ -4999,9 +5008,9 @@ PP(pp_split)
        SV *csv = CALLREG_INTUIT_STRING(aTHX_ rx);
        char c;
 
-       i = rx->minlen;
-       if (i == 1 && !tail) {
-           c = *SvPV(csv,i);
+       len = rx->minlen;
+       if (len == 1 && !tail) {
+           c = *SvPV(csv,len);
            while (--limit) {
                /*SUPPRESS 530*/
                for (m = s; m < strend && *m != c; m++) ;
@@ -5027,7 +5036,7 @@ PP(pp_split)
                if (make_mortal)
                    sv_2mortal(dstr);
                XPUSHs(dstr);
-               s = m + i;              /* Fake \n at the end */
+               s = m + len;            /* Fake \n at the end */
            }
        }
     }
@@ -5178,7 +5187,7 @@ PP(pp_lock)
        DEBUG_S(PerlIO_printf(PerlIO_stderr(), "0x%lx: pp_lock lock 0x%lx\n",
                              (unsigned long)thr, (unsigned long)sv);)
        MUTEX_UNLOCK(MgMUTEXP(mg));
-       save_destructor(Perl_unlock_condpair, sv);
+       SAVEDESTRUCTOR(Perl_unlock_condpair, sv);
     }
 #endif /* USE_THREADS */
     if (SvTYPE(retsv) == SVt_PVAV || SvTYPE(retsv) == SVt_PVHV