Change 29993 by [EMAIL PROTECTED] on 2007/01/26 09:15:17

        Integrate:
        [ 28279]
        Subject: [PATCH] pp_sys cleanup again
        From: [EMAIL PROTECTED] (Andy Lester)
        Date: Sat, 20 May 2006 16:20:20 -0500
        Message-ID: <[EMAIL PROTECTED]>
        
        [ 28289]
        Subject: [PATCH] clean some lint findings
        From: [EMAIL PROTECTED] (Andy Lester)
        Date: Sun, 21 May 2006 00:02:40 -0500
        Message-ID: <[EMAIL PROTECTED]>
        
        [ 28296]
        Subject: [PATCH] Refactoring in av.c
        From: [EMAIL PROTECTED] (Andy Lester)
        Date: Wed, 24 May 2006 00:16:40 -0500
        Message-ID: <[EMAIL PROTECTED]>
        
        [ 28357]
        Subject: [PATCH] Accumulated toke.c cleanups
        From: [EMAIL PROTECTED] (Andy Lester)
        Date: Tue, 6 Jun 2006 00:07:36 -0500
        Message-ID: <[EMAIL PROTECTED]>
        
        [ 28358]
        Subject: [PATCH] more accumulated cleanups
        From: [EMAIL PROTECTED] (Andy Lester)
        Date: Tue, 6 Jun 2006 00:25:01 -0500
        Message-ID: <[EMAIL PROTECTED]>
        
        [ 28363]
        Subject: [PATCH] dump.c patches
        From: [EMAIL PROTECTED] (Andy Lester)
        Date: Tue, 6 Jun 2006 10:01:37 -0500
        Message-ID: <[EMAIL PROTECTED]>

Affected files ...

... //depot/maint-5.8/perl/av.c#41 integrate
... //depot/maint-5.8/perl/cop.h#32 integrate
... //depot/maint-5.8/perl/doio.c#95 integrate
... //depot/maint-5.8/perl/doop.c#49 integrate
... //depot/maint-5.8/perl/dump.c#69 integrate
... //depot/maint-5.8/perl/embed.fnc#193 integrate
... //depot/maint-5.8/perl/embed.h#145 integrate
... //depot/maint-5.8/perl/hv.c#107 integrate
... //depot/maint-5.8/perl/perlio.c#94 integrate
... //depot/maint-5.8/perl/pp_pack.c#52 integrate
... //depot/maint-5.8/perl/pp_sys.c#132 integrate
... //depot/maint-5.8/perl/proto.h#183 integrate
... //depot/maint-5.8/perl/toke.c#150 integrate
... //depot/maint-5.8/perl/utf8.c#72 integrate
... //depot/maint-5.8/perl/util.c#131 edit

Differences ...

==== //depot/maint-5.8/perl/av.c#41 (text) ====
Index: perl/av.c
--- perl/av.c#40~29949~ 2007-01-24 07:28:38.000000000 -0800
+++ perl/av.c   2007-01-26 01:15:17.000000000 -0800
@@ -39,7 +39,7 @@
        SV * const sv = AvARRAY(av)[--key];
        assert(sv);
        if (sv != &PL_sv_undef)
-           SvREFCNT_inc_void_NN(sv);
+           SvREFCNT_inc_simple_void_NN(sv);
     }
     key = AvARRAY(av) - AvALLOC(av);
     while (key)
@@ -187,7 +187,6 @@
 SV**
 Perl_av_fetch(pTHX_ register AV *av, I32 key, I32 lval)
 {
-    SV *sv;
 
     if (!av)
        return 0;
@@ -195,25 +194,25 @@
     if (SvRMAGICAL(av)) {
         const MAGIC * const tied_magic = mg_find((SV*)av, PERL_MAGIC_tied);
         if (tied_magic || mg_find((SV*)av, PERL_MAGIC_regdata)) {
-            U32 adjust_index = 1;
-
-            if (tied_magic && key < 0) {
-                /* Handle negative array indices 20020222 MJD */
-               SV * const * const negative_indices_glob =
-                    hv_fetch(SvSTASH(SvRV(SvTIED_obj((SV *)av, 
-                                                     tied_magic))), 
-                             NEGATIVE_INDICES_VAR, 16, 0);
+           SV *sv;
+           if (key < 0) {
+               I32 adjust_index = 1;
+               if (tied_magic) {
+                   /* Handle negative array indices 20020222 MJD */
+                   SV * const * const negative_indices_glob =
+                       hv_fetch(SvSTASH(SvRV(SvTIED_obj((SV *)av, 
tied_magic))),
+                               NEGATIVE_INDICES_VAR, 16, 0);
 
-                if (negative_indices_glob
-                    && SvTRUE(GvSV(*negative_indices_glob)))
-                    adjust_index = 0;
-            }
+                   if (negative_indices_glob && 
SvTRUE(GvSV(*negative_indices_glob)))
+                       adjust_index = 0;
+               }
 
-            if (key < 0 && adjust_index) {
-                key += AvFILL(av) + 1;
-                if (key < 0)
-                    return 0;
-            }
+               if (adjust_index) {
+                   key += AvFILL(av) + 1;
+                   if (key < 0)
+                       return NULL;
+               }
+           }
 
             sv = sv_newmortal();
            sv_upgrade(sv, SVt_PVLV);
@@ -227,22 +226,19 @@
     if (key < 0) {
        key += AvFILL(av) + 1;
        if (key < 0)
-           return 0;
+           return NULL;
     }
 
     if (key > AvFILLp(av)) {
        if (!lval)
-           return 0;
-       sv = newSV(0);
-       return av_store(av,key,sv);
+           return NULL;
+       return av_store(av,key,newSV(0));
     }
     if (AvARRAY(av)[key] == &PL_sv_undef) {
     emptyness:
-       if (lval) {
-           sv = newSV(0);
-           return av_store(av,key,sv);
-       }
-       return 0;
+       if (lval)
+           return av_store(av,key,newSV(0));
+       return NULL;
     }
     else if (AvREIFY(av)
             && (!AvARRAY(av)[key]      /* eg. @_ could have freed elts */
@@ -289,7 +285,7 @@
         if (tied_magic) {
             /* Handle negative array indices 20020222 MJD */
             if (key < 0) {
-                unsigned adjust_index = 1;
+               bool adjust_index = 1;
                SV * const * const negative_indices_glob =
                     hv_fetch(SvSTASH(SvRV(SvTIED_obj((SV *)av, 
                                                      tied_magic))), 
@@ -306,7 +302,7 @@
            if (val != &PL_sv_undef) {
                mg_copy((SV*)av, val, 0, key);
            }
-           return 0;
+           return NULL;
         }
     }
 
@@ -314,7 +310,7 @@
     if (key < 0) {
        key += AvFILL(av) + 1;
        if (key < 0)
-           return 0;
+           return NULL;
     }
 
     if (SvREADONLY(av) && key >= AvFILL(av))
@@ -329,9 +325,9 @@
        if (!AvREAL(av)) {
            if (av == PL_curstack && key > PL_stack_sp - PL_stack_base)
                PL_stack_sp = PL_stack_base + key;      /* XPUSH in disguise */
-           do
+           do {
                ary[++AvFILLp(av)] = &PL_sv_undef;
-           while (AvFILLp(av) < key);
+           } while (AvFILLp(av) < key);
        }
        AvFILLp(av) = key;
     }
@@ -392,8 +388,7 @@
        Newx(ary,size,SV*);
        AvALLOC(av) = ary;
        SvPV_set(av, (char*)ary);
-       AvFILLp(av) = size - 1;
-       AvMAX(av) = size - 1;
+       AvFILLp(av) = AvMAX(av) = size - 1;
        for (i = 0; i < size; i++) {
            assert (*strp);
            ary[i] = newSV(0);
@@ -416,7 +411,7 @@
 void
 Perl_av_clear(pTHX_ register AV *av)
 {
-    register I32 key;
+    I32 extra;
 
 /* XXX Should av_clear really be NN? */
 #ifdef DEBUGGING
@@ -439,17 +434,18 @@
 
     if (AvREAL(av)) {
        SV** const ary = AvARRAY(av);
-       key = AvFILLp(av) + 1;
-       while (key) {
-           SV * const sv = ary[--key];
+       I32 index = AvFILLp(av) + 1;
+       while (index) {
+           SV * const sv = ary[--index];
            /* undef the slot before freeing the value, because a
-            * destructor might try to modify this arrray */
-           ary[key] = &PL_sv_undef;
+            * destructor might try to modify this array */
+           ary[index] = &PL_sv_undef;
            SvREFCNT_dec(sv);
        }
     }
-    if ((key = AvARRAY(av) - AvALLOC(av))) {
-       AvMAX(av) += key;
+    extra = AvARRAY(av) - AvALLOC(av);
+    if (extra) {
+       AvMAX(av) += extra;
        SvPV_set(av, (char*)AvALLOC(av));
     }
     AvFILLp(av) = -1;
@@ -480,7 +476,7 @@
            SvREFCNT_dec(AvARRAY(av)[--key]);
     }
     Safefree(AvALLOC(av));
-    AvALLOC(av) = 0;
+    AvALLOC(av) = NULL;
     SvPV_set(av, NULL);
     AvMAX(av) = AvFILLp(av) = -1;
     /* Need to check SvMAGICAL, as during global destruction it may be that

==== //depot/maint-5.8/perl/cop.h#32 (text) ====
Index: perl/cop.h
--- perl/cop.h#31~29986~        2007-01-25 15:07:41.000000000 -0800
+++ perl/cop.h  2007-01-26 01:15:17.000000000 -0800
@@ -186,7 +186,7 @@
            POP_SAVEARRAY();                                            \
            /* abandon @_ if it got reified */                          \
            if (AvREAL(cx->blk_sub.argarray)) {                         \
-               SSize_t fill = AvFILLp(cx->blk_sub.argarray);           \
+               const SSize_t fill = AvFILLp(cx->blk_sub.argarray);     \
                SvREFCNT_dec(cx->blk_sub.argarray);                     \
                cx->blk_sub.argarray = newAV();                         \
                av_extend(cx->blk_sub.argarray, fill);                  \

==== //depot/maint-5.8/perl/doio.c#95 (text) ====
Index: perl/doio.c
--- perl/doio.c#94~29981~       2007-01-25 13:31:37.000000000 -0800
+++ perl/doio.c 2007-01-26 01:15:17.000000000 -0800
@@ -187,7 +187,6 @@
        STRLEN olen = len;
        char *tend;
        int dodup = 0;
-       PerlIO *that_fp = NULL;
 
        type = savepvn(oname, len);
        tend = type+len;
@@ -320,6 +319,7 @@
                    fp = supplied_fp;
                }
                else {
+                   PerlIO *that_fp = NULL;
                    if (num_svs > 1) {
                        Perl_croak(aTHX_ "More than one argument to '%c&' 
open",IoTYPE(io));
                    }
@@ -338,8 +338,7 @@
                            thatio = sv_2io(*svp);
                        }
                        else {
-                           GV *thatgv;
-                           thatgv = gv_fetchpvn_flags(type, tend - type,
+                           GV * const thatgv = gv_fetchpvn_flags(type, tend - 
type,
                                                       0, SVt_PVIO);
                            thatio = GvIO(thatgv);
                        }
@@ -937,7 +936,7 @@
        if (io && (IoFLAGS(io) & IOf_ARGV)
            && PL_argvout_stack && AvFILLp(PL_argvout_stack) >= 0)
        {
-           GV *oldout = (GV*)av_pop(PL_argvout_stack);
+           GV * const oldout = (GV*)av_pop(PL_argvout_stack);
            setdefout(oldout);
            SvREFCNT_dec(oldout);
            return NULL;
@@ -1176,7 +1175,6 @@
        /* code courtesy of William Kucharski */
 #define HAS_CHSIZE
 
-    struct flock fl;
     Stat_t filebuf;
 
     if (PerlLIO_fstat(fd, &filebuf) < 0)
@@ -1196,7 +1194,7 @@
     }
     else {
        /* truncate length */
-
+       struct flock fl;
        fl.l_whence = 0;
        fl.l_len = 0;
        fl.l_start = length;
@@ -1274,7 +1272,7 @@
        else if (DO_UTF8(sv)) {
            STRLEN tmplen = len;
            bool utf8 = TRUE;
-           U8 *result = bytes_from_utf8((U8*) tmps, &tmplen, &utf8);
+           U8 * const result = bytes_from_utf8((U8*) tmps, &tmplen, &utf8);
            if (!utf8) {
                tmpbuf = result;
                tmps = (char *) tmpbuf;
@@ -1298,8 +1296,7 @@
      * io the write failure can be delayed until the flush/close. --jhi */
     if (len && (PerlIO_write(fp,tmps,len) == 0))
        happy = FALSE;
-    if (tmpbuf)
-       Safefree(tmpbuf);
+    Safefree(tmpbuf);
     return happy ? !PerlIO_error(fp) : FALSE;
 }
 
@@ -1500,7 +1497,7 @@
              if (s[-1] == '\'') {
                  *--s = '\0';
                  PERL_FPU_PRE_EXEC
-                 PerlProc_execl(PL_cshname,"csh", flags, ncmd, (char*)0);
+                 PerlProc_execl(PL_cshname, "csh", flags, ncmd, NULL);
                  PERL_FPU_POST_EXEC
                  *s = '\'';
                  Safefree(cmd);
@@ -1548,7 +1545,7 @@
            }
          doshell:
            PERL_FPU_PRE_EXEC
-           PerlProc_execl(PL_sh_path, "sh", "-c", cmd, (char*)0);
+           PerlProc_execl(PL_sh_path, "sh", "-c", cmd, NULL);
            PERL_FPU_POST_EXEC
            Safefree(cmd);
            return FALSE;
@@ -2290,12 +2287,10 @@
 #endif
     }
     else {
-       I32 n;
        STRLEN len;
 
        const char *mbuf = SvPV_const(mstr, len);
-       if ((n = len) > msize)
-           n = msize;
+       const I32 n = (len > msize) ? msize : len;
        Copy(mbuf, shm + mpos, n, char);
        if (n < msize)
            memzero(shm + mpos + n, msize - n);

==== //depot/maint-5.8/perl/doop.c#49 (text) ====
Index: perl/doop.c
--- perl/doop.c#48~29962~       2007-01-24 14:51:14.000000000 -0800
+++ perl/doop.c 2007-01-26 01:15:17.000000000 -0800
@@ -639,14 +639,14 @@
 }
 
 void
-Perl_do_join(pTHX_ register SV *sv, SV *del, register SV **mark, register SV 
**sp)
+Perl_do_join(pTHX_ register SV *sv, SV *delim, register SV **mark, register SV 
**sp)
 {
     SV ** const oldmark = mark;
     register I32 items = sp - mark;
     register STRLEN len;
     STRLEN delimlen;
 
-    (void) SvPV_const(del, delimlen); /* stringify and get the delimlen */
+    (void) SvPV_const(delim, delimlen); /* stringify and get the delimlen */
     /* SvCUR assumes it's SvPOK() and woe betide you if it's not. */
 
     mark++;
@@ -683,7 +683,7 @@
 
     if (delimlen) {
        for (; items > 0; items--,mark++) {
-           sv_catsv(sv,del);
+           sv_catsv(sv,delim);
            sv_catsv(sv,*mark);
        }
     }

==== //depot/maint-5.8/perl/dump.c#69 (text) ====
Index: perl/dump.c
--- perl/dump.c#68~29974~       2007-01-25 09:04:16.000000000 -0800
+++ perl/dump.c 2007-01-26 01:15:17.000000000 -0800
@@ -298,7 +298,7 @@
        if (!SvPVX_const(sv))
            sv_catpv(t, "(null)");
        else {
-           SV *tmp = newSVpvs("");
+           SV * const tmp = newSVpvs("");
            sv_catpv(t, "(");
            if (SvOOK(sv))
                Perl_sv_catpvf(aTHX_ t, "[%s]", pv_display(tmp, (char 
*)SvPVX_const(sv)-SvIVX(sv), SvIVX(sv), 0, 127));
@@ -366,8 +366,7 @@
     Perl_dump_indent(aTHX_ level-1, file, "}\n");
 }
 
-static
-SV *
+static SV *
 S_pm_description(pTHX_ const PMOP *pm)
 {
     SV * const desc = newSVpvs("");
@@ -548,16 +547,16 @@
            }
            else {
                switch (o->op_private & OPpDEREF) {
-           case OPpDEREF_SV:
-               sv_catpv(tmpsv, ",SV");
-               break;
-           case OPpDEREF_AV:
-               sv_catpv(tmpsv, ",AV");
-               break;
-           case OPpDEREF_HV:
-               sv_catpv(tmpsv, ",HV");
-               break;
-           }
+               case OPpDEREF_SV:
+                   sv_catpv(tmpsv, ",SV");
+                   break;
+               case OPpDEREF_AV:
+                   sv_catpv(tmpsv, ",AV");
+                   break;
+               case OPpDEREF_HV:
+                   sv_catpv(tmpsv, ",HV");
+                   break;
+               }
                if (o->op_private & OPpMAYBE_LVSUB)
                    sv_catpv(tmpsv, ",MAYBE_LVSUB");
            }
@@ -826,7 +825,7 @@
        { PERL_MAGIC_defelem,        "defelem(y)" },
        { PERL_MAGIC_ext,            "ext(~)" },
        /* this null string terminates the list */
-       { 0,                         0 },
+       { 0,                         NULL },
 };
 
 void
@@ -837,7 +836,7 @@
                         "  MAGIC = 0x%"UVxf"\n", PTR2UV(mg));
        if (mg->mg_virtual) {
             const MGVTBL * const v = mg->mg_virtual;
-           const char *s = NULL;
+           const char *s;
            if      (v == &PL_vtbl_sv)         s = "sv";
             else if (v == &PL_vtbl_env)        s = "env";
             else if (v == &PL_vtbl_envelem)    s = "envelem";
@@ -866,6 +865,7 @@
            else if (v == &PL_vtbl_amagicelem) s = "amagicelem";
            else if (v == &PL_vtbl_backref)    s = "backref";
            else if (v == &PL_vtbl_utf8)       s = "utf8";
+           else                               s = NULL;
            if (s)
                Perl_dump_indent(aTHX_ level, file, "    MG_VIRTUAL = 
&PL_vtbl_%s\n", s);
            else
@@ -950,7 +950,7 @@
 void
 Perl_magic_dump(pTHX_ MAGIC *mg)
 {
-    do_magic_dump(0, Perl_debug_log, mg, 0, 0, 0, 0);
+    do_magic_dump(0, Perl_debug_log, mg, 0, 0, FALSE, 0);
 }
 
 void
@@ -1314,7 +1314,7 @@
        if (HvPMROOT(sv))
            Perl_dump_indent(aTHX_ level, file, "  PMROOT = 0x%"UVxf"\n", 
PTR2UV(HvPMROOT(sv)));
        {
-           const char *hvname = HvNAME_get(sv);
+           const char * const hvname = HvNAME_get(sv);
            if (hvname)
                Perl_dump_indent(aTHX_ level, file, "  NAME = \"%s\"\n", 
hvname);
        }
@@ -1392,7 +1392,7 @@
            do_dump_pad(level+1, file, CvPADLIST(sv), 0);
        }
        {
-            const CV *outside = CvOUTSIDE(sv);
+           const CV * const outside = CvOUTSIDE(sv);
            Perl_dump_indent(aTHX_ level, file, "  OUTSIDE = 0x%"UVxf" (%s)\n",
                        PTR2UV(outside),
                        (!outside ? "null"
@@ -1494,7 +1494,7 @@
     do {
        PERL_ASYNC_CHECK();
        if (PL_debug) {
-           if (PL_watchaddr != 0 && *PL_watchaddr != PL_watchok)
+           if (PL_watchaddr && (*PL_watchaddr != PL_watchok))
                PerlIO_printf(Perl_debug_log,
                              "WARNING: %"UVxf" changed from %"UVxf" to 
%"UVxf"\n",
                              PTR2UV(PL_watchaddr), PTR2UV(PL_watchok),
@@ -1532,7 +1532,7 @@
     case OP_GVSV:
     case OP_GV:
        if (cGVOPo_gv) {
-           SV *sv = newSV(0);
+           SV * const sv = newSV(0);
            gv_fullname3(sv, cGVOPo_gv, NULL);
            PerlIO_printf(Perl_debug_log, "(%s)", SvPV_nolen_const(sv));
            SvREFCNT_dec(sv);
@@ -1545,18 +1545,18 @@
     case OP_PADHV:
        {
        /* print the lexical's name */
-       CV *cv = deb_curcv(cxstack_ix);
+       CV * const cv = deb_curcv(cxstack_ix);
        SV *sv;
         if (cv) {
-            AV * const padlist = CvPADLIST(cv);
+           AV * const padlist = CvPADLIST(cv);
             AV * const comppad = (AV*)(*av_fetch(padlist, 0, FALSE));
             sv = *av_fetch(comppad, o->op_targ, FALSE);
         } else
             sv = NULL;
         if (sv)
-           PerlIO_printf(Perl_debug_log, "(%s)", SvPV_nolen_const(sv));
+           PerlIO_printf(Perl_debug_log, "(%s)", SvPV_nolen_const(sv));
         else
-           PerlIO_printf(Perl_debug_log, "[%"UVuf"]", (UV)o->op_targ);
+           PerlIO_printf(Perl_debug_log, "[%"UVuf"]", (UV)o->op_targ);
        }
         break;
     default:
@@ -1569,7 +1569,7 @@
 STATIC CV*
 S_deb_curcv(pTHX_ I32 ix)
 {
-    const PERL_CONTEXT *cx = &cxstack[ix];
+    const PERL_CONTEXT * const cx = &cxstack[ix];
     if (CxTYPE(cx) == CXt_SUB || CxTYPE(cx) == CXt_FORMAT)
         return cx->blk_sub.cv;
     else if (CxTYPE(cx) == CXt_EVAL && !CxTRYBLOCK(cx))

==== //depot/maint-5.8/perl/embed.fnc#193 (text) ====
Index: perl/embed.fnc
--- perl/embed.fnc#192~29984~   2007-01-25 14:41:11.000000000 -0800
+++ perl/embed.fnc      2007-01-26 01:15:17.000000000 -0800
@@ -1179,7 +1179,7 @@
                                |char ender
 s      |const char *|get_num   |NN const char *ppat|NN I32 *lenptr
 sR     |char * |sv_exp_grow    |NN SV *sv|STRLEN needed
-sR     |char * |bytes_to_uni   |NN const U8 *start|STRLEN len|NN char *dest
+snR    |char * |bytes_to_uni   |NN const U8 *start|STRLEN len|NN char *dest
 #endif
 
 #if defined(PERL_IN_PP_CTL_C) || defined(PERL_DECL_PROT)

==== //depot/maint-5.8/perl/embed.h#145 (text+w) ====
Index: perl/embed.h
--- perl/embed.h#144~29981~     2007-01-25 13:31:37.000000000 -0800
+++ perl/embed.h        2007-01-26 01:15:17.000000000 -0800
@@ -3272,7 +3272,7 @@
 #define group_end(a,b,c)       S_group_end(aTHX_ a,b,c)
 #define get_num(a,b)           S_get_num(aTHX_ a,b)
 #define sv_exp_grow(a,b)       S_sv_exp_grow(aTHX_ a,b)
-#define bytes_to_uni(a,b,c)    S_bytes_to_uni(aTHX_ a,b,c)
+#define bytes_to_uni           S_bytes_to_uni
 #endif
 #endif
 #if defined(PERL_IN_PP_CTL_C) || defined(PERL_DECL_PROT)

==== //depot/maint-5.8/perl/perlio.c#94 (text) ====
Index: perl/perlio.c
--- perl/perlio.c#93~29984~     2007-01-25 14:41:11.000000000 -0800
+++ perl/perlio.c       2007-01-26 01:15:17.000000000 -0800
@@ -5092,6 +5092,8 @@
 {
     dTHX; 
     const int val = my_vsnprintf(s, n > 0 ? n : 0, fmt, ap);
+    PERL_UNUSED_CONTEXT;
+
 #ifndef PERL_MY_VSNPRINTF_GUARDED
     if (val < 0 || (n > 0 ? val >= n : 0)) {
        Perl_croak(aTHX_ "panic: my_vsnprintf overflow in PerlIO_vsprintf\n");

==== //depot/maint-5.8/perl/pp_pack.c#52 (text) ====
Index: perl/pp_pack.c
--- perl/pp_pack.c#51~29981~    2007-01-25 13:31:37.000000000 -0800
+++ perl/pp_pack.c      2007-01-26 01:15:17.000000000 -0800
@@ -717,7 +717,7 @@
 }
 
 STATIC char *
-S_bytes_to_uni(pTHX_ const U8 *start, STRLEN len, char *dest) {
+S_bytes_to_uni(const U8 *start, STRLEN len, char *dest) {
     const U8 * const end = start + len;
 
     while (start < end) {

==== //depot/maint-5.8/perl/pp_sys.c#132 (text) ====
Index: perl/pp_sys.c
--- perl/pp_sys.c#131~29980~    2007-01-25 13:15:39.000000000 -0800
+++ perl/pp_sys.c       2007-01-26 01:15:17.000000000 -0800
@@ -337,7 +337,7 @@
        if (gimme == G_VOID) {
            char tmpbuf[256];
            while (PerlIO_read(fp, tmpbuf, sizeof tmpbuf) > 0)
-               ;
+               NOOP;
        }
        else if (gimme == G_SCALAR) {
            ENTER;
@@ -345,7 +345,7 @@
            PL_rs = &PL_sv_undef;
            sv_setpvn(TARG, "", 0);     /* note that this preserves previous 
buffer */
            while (sv_gets(TARG, fp, SvCUR(TARG)) != NULL)
-               ;
+               NOOP;
            LEAVE;
            XPUSHs(TARG);
            SvTAINTED_on(TARG);
@@ -535,11 +535,11 @@
 
     if (!isGV(gv))
        DIE(aTHX_ PL_no_usym, "filehandle");
-    if ((io = GvIOp(gv)))
+    if ((io = GvIOp(gv))) {
+       MAGIC *mg;
        IoFLAGS(GvIOp(gv)) &= ~IOf_UNTAINT;
 
-    if (io) {
-       MAGIC * const mg = SvTIED_mg((SV*)io, PERL_MAGIC_tiedscalar);
+       mg = SvTIED_mg((SV*)io, PERL_MAGIC_tiedscalar);
        if (mg) {
            /* Method's args are same as ours ... */
            /* ... except handle is replaced by the object */
@@ -576,21 +576,23 @@
 PP(pp_close)
 {
     dSP;
-    IO *io;
-    MAGIC *mg;
     GV * const gv = (MAXARG == 0) ? PL_defoutgv : (GV*)POPs;
 
-    if (gv && (io = GvIO(gv))
-       && (mg = SvTIED_mg((SV*)io, PERL_MAGIC_tiedscalar)))
-    {
-       PUSHMARK(SP);
-       XPUSHs(SvTIED_obj((SV*)io, mg));
-       PUTBACK;
-       ENTER;
-       call_method("CLOSE", G_SCALAR);
-       LEAVE;
-       SPAGAIN;
-       RETURN;
+    if (gv) {
+       IO * const io = GvIO(gv);
+       if (io) {
+           MAGIC * const mg = SvTIED_mg((SV*)io, PERL_MAGIC_tiedscalar);
+           if (mg) {
+               PUSHMARK(SP);
+               XPUSHs(SvTIED_obj((SV*)io, mg));
+               PUTBACK;
+               ENTER;
+               call_method("CLOSE", G_SCALAR);
+               LEAVE;
+               SPAGAIN;
+               RETURN;
+           }
+       }
     }
     EXTEND(SP, 1);
     PUSHs(boolSV(do_close(gv, TRUE)));
@@ -632,10 +634,14 @@
     IoTYPE(wstio) = IoTYPE_WRONLY;
 
     if (!IoIFP(rstio) || !IoOFP(wstio)) {
-       if (IoIFP(rstio)) PerlIO_close(IoIFP(rstio));
-       else PerlLIO_close(fd[0]);
-       if (IoOFP(wstio)) PerlIO_close(IoOFP(wstio));
-       else PerlLIO_close(fd[1]);
+       if (IoIFP(rstio))
+           PerlIO_close(IoIFP(rstio));
+       else
+           PerlLIO_close(fd[0]);
+       if (IoOFP(wstio))
+           PerlIO_close(IoOFP(wstio));
+       else
+           PerlLIO_close(fd[1]);
        goto badexit;
     }
 #if defined(HAS_FCNTL) && defined(F_SETFD)
@@ -721,7 +727,6 @@
     GV *gv;
     IO *io;
     PerlIO *fp;
-    MAGIC *mg;
     SV *discp = NULL;
 
     if (MAXARG < 1)
@@ -732,19 +737,20 @@
 
     gv = (GV*)POPs;
 
-    if (gv && (io = GvIO(gv))
-       && (mg = SvTIED_mg((SV*)io, PERL_MAGIC_tiedscalar)))
-    {
-       PUSHMARK(SP);
-       XPUSHs(SvTIED_obj((SV*)io, mg));
-       if (discp)
-           XPUSHs(discp);
-       PUTBACK;
-       ENTER;
-       call_method("BINMODE", G_SCALAR);
-       LEAVE;
-       SPAGAIN;
-       RETURN;
+    if (gv && (io = GvIO(gv))) {
+       MAGIC * const mg = SvTIED_mg((SV*)io, PERL_MAGIC_tiedscalar);
+       if (mg) {
+           PUSHMARK(SP);
+           XPUSHs(SvTIED_obj((SV*)io, mg));
+           if (discp)
+               XPUSHs(discp);
+           PUTBACK;
+           ENTER;
+           call_method("BINMODE", G_SCALAR);
+           LEAVE;
+           SPAGAIN;
+           RETURN;
+       }
     }
 
     EXTEND(SP, 1);
@@ -1151,7 +1157,7 @@
 {
     dSP; dTARGET;
     HV *hv;
-    GV * const newdefout = (PL_op->op_private > 0) ? ((GV *) POPs) : (GV *) 
NULL;
+    GV * const newdefout = (PL_op->op_private > 0) ? ((GV *) POPs) : NULL;
     GV * egv = GvEGV(PL_defoutgv);
 
     if (!egv)
@@ -1183,23 +1189,23 @@
 {
     dSP; dTARGET;
     IO *io = NULL;
-    MAGIC *mg;
     GV * const gv = (MAXARG==0) ? PL_stdingv : (GV*)POPs;
 
-    if (gv && (io = GvIO(gv))
-       && (mg = SvTIED_mg((SV*)io, PERL_MAGIC_tiedscalar)))
-    {
-       const I32 gimme = GIMME_V;
-       PUSHMARK(SP);
-       XPUSHs(SvTIED_obj((SV*)io, mg));
-       PUTBACK;
-       ENTER;
-       call_method("GETC", gimme);
-       LEAVE;
-       SPAGAIN;
-       if (gimme == G_SCALAR)
-           SvSetMagicSV_nosteal(TARG, TOPs);
-       RETURN;
+    if (gv && (io = GvIO(gv))) {
+       MAGIC * const mg = SvTIED_mg((SV*)io, PERL_MAGIC_tiedscalar);
+       if (mg) {
+           const I32 gimme = GIMME_V;
+           PUSHMARK(SP);
+           XPUSHs(SvTIED_obj((SV*)io, mg));
+           PUTBACK;
+           ENTER;
+           call_method("GETC", gimme);
+           LEAVE;
+           SPAGAIN;
+           if (gimme == G_SCALAR)
+               SvSetMagicSV_nosteal(TARG, TOPs);
+           RETURN;
+       }
     }
     if (!gv || do_eof(gv)) { /* make sure we have fp with something */
        if ((!io || (!IoIFP(io) && IoTYPE(io) != IoTYPE_WRONLY))
@@ -1269,9 +1275,9 @@
     else
        fgv = gv;
 
-    if (!fgv) {
-       DIE(aTHX_ "Not a format reference");
-    }
+    if (!fgv)
+       goto not_a_format_reference;
+
     cv = GvFORM(fgv);
     if (!cv) {
        SV * const tmpsv = sv_newmortal();
@@ -1280,6 +1286,8 @@
        name = SvPV_nolen_const(tmpsv);
        if (name && *name)
            DIE(aTHX_ "Undefined format \"%s\" called", name);
+
+       not_a_format_reference:
        DIE(aTHX_ "Not a format reference");
     }
     if (CvCLONE(cv))
@@ -1423,30 +1431,30 @@
     IO *io;
     PerlIO *fp;
     SV *sv;
-    MAGIC *mg;
 
     GV * const gv = (PL_op->op_flags & OPf_STACKED) ? (GV*)*++MARK : 
PL_defoutgv;
 
-    if (gv && (io = GvIO(gv))
-       && (mg = SvTIED_mg((SV*)io, PERL_MAGIC_tiedscalar)))
-    {
-       if (MARK == ORIGMARK) {
-           MEXTEND(SP, 1);
-           ++MARK;
-           Move(MARK, MARK + 1, (SP - MARK) + 1, SV*);
-           ++SP;
+    if (gv && (io = GvIO(gv))) {
+       MAGIC * const mg = SvTIED_mg((SV*)io, PERL_MAGIC_tiedscalar);
+       if (mg) {
+           if (MARK == ORIGMARK) {
+               MEXTEND(SP, 1);
+               ++MARK;
+               Move(MARK, MARK + 1, (SP - MARK) + 1, SV*);
+               ++SP;
+           }
+           PUSHMARK(MARK - 1);
+           *MARK = SvTIED_obj((SV*)io, mg);
+           PUTBACK;
+           ENTER;
+           call_method("PRINTF", G_SCALAR);
+           LEAVE;
+           SPAGAIN;
+           MARK = ORIGMARK + 1;
+           *MARK = *SP;
+           SP = MARK;
+           RETURN;
        }
-       PUSHMARK(MARK - 1);
-       *MARK = SvTIED_obj((SV*)io, mg);
-       PUTBACK;
-       ENTER;
-       call_method("PRINTF", G_SCALAR);
-       LEAVE;
-       SPAGAIN;
-       MARK = ORIGMARK + 1;
-       *MARK = *SP;
-       SP = MARK;
-       RETURN;
     }
 
     sv = newSV(0);
@@ -1771,35 +1779,35 @@
     SSize_t retval;
     STRLEN blen;
     STRLEN orig_blen_bytes;
-    MAGIC *mg;
     const int op_type = PL_op->op_type;
     bool doing_utf8;
     U8 *tmpbuf = NULL;
     
     GV *const gv = (GV*)*++MARK;
     if (PL_op->op_type == OP_SYSWRITE
-       && gv && (io = GvIO(gv))
-       && (mg = SvTIED_mg((SV*)io, PERL_MAGIC_tiedscalar)))
-    {
-       SV *sv;
+       && gv && (io = GvIO(gv))) {
+       MAGIC * const mg = SvTIED_mg((SV*)io, PERL_MAGIC_tiedscalar);
+       if (mg) {
+           SV *sv;
 
-       if (MARK == SP - 1) {
-           EXTEND(SP, 1000);
-           sv = sv_2mortal(newSViv(sv_len(*SP)));
+           if (MARK == SP - 1) {
+               EXTEND(SP, 1000);
+               sv = sv_2mortal(newSViv(sv_len(*SP)));
+               PUSHs(sv);
+               PUTBACK;
+           }
+
+           PUSHMARK(ORIGMARK);
+           *(ORIGMARK+1) = SvTIED_obj((SV*)io, mg);
+           ENTER;
+           call_method("WRITE", G_SCALAR);
+           LEAVE;
+           SPAGAIN;
+           sv = POPs;
+           SP = ORIGMARK;
            PUSHs(sv);
-           PUTBACK;
+           RETURN;
        }
-       
-       PUSHMARK(ORIGMARK);
-       *(ORIGMARK+1) = SvTIED_obj((SV*)io, mg);
-       ENTER;
-       call_method("WRITE", G_SCALAR);
-       LEAVE;
-       SPAGAIN;
-       sv = POPs;
-       SP = ORIGMARK;
-       PUSHs(sv);
-       RETURN;
     }
     if (!gv)
        goto say_undef;
@@ -1831,7 +1839,7 @@
     }
     else if (doing_utf8) {
        STRLEN tmplen = blen;
-       U8 *result = bytes_from_utf8((U8*) buffer, &tmplen, &doing_utf8);
+       U8 * const result = bytes_from_utf8((U8*) buffer, &tmplen, &doing_utf8);
        if (!doing_utf8) {
            tmpbuf = result;
            buffer = (char *) tmpbuf;
@@ -1963,8 +1971,7 @@
     if (doing_utf8)
         retval = utf8_length((U8*)buffer, (U8*)buffer + retval);
 
-    if (tmpbuf)
-       Safefree(tmpbuf);
+    Safefree(tmpbuf);
 #if Size_t_size > IVSIZE
     PUSHn(retval);
 #else
@@ -1973,8 +1980,7 @@
     RETURN;
 
   say_undef:
-    if (tmpbuf)
-       Safefree(tmpbuf);
+    Safefree(tmpbuf);
     SP = ORIGMARK;
     RETPUSHUNDEF;
 }
@@ -2031,23 +2037,23 @@
     dSP; dTARGET;
     GV *gv;
     IO *io;
-    MAGIC *mg;
 
     if (MAXARG != 0)
        PL_last_in_gv = (GV*)POPs;
     gv = PL_last_in_gv;
 
-    if (gv && (io = GvIO(gv))
-       && (mg = SvTIED_mg((SV*)io, PERL_MAGIC_tiedscalar)))
-    {
-       PUSHMARK(SP);
-       XPUSHs(SvTIED_obj((SV*)io, mg));
-       PUTBACK;
-       ENTER;
-       call_method("TELL", G_SCALAR);
-       LEAVE;
-       SPAGAIN;
-       RETURN;
+    if (gv && (io = GvIO(gv))) {
+       MAGIC * const mg = SvTIED_mg((SV*)io, PERL_MAGIC_tiedscalar);
+       if (mg) {
+           PUSHMARK(SP);
+           XPUSHs(SvTIED_obj((SV*)io, mg));
+           PUTBACK;
+           ENTER;
+           call_method("TELL", G_SCALAR);
+           LEAVE;
+           SPAGAIN;
+           RETURN;
+       }
     }
 
 #if LSEEKSIZE > IVSIZE
@@ -2061,34 +2067,34 @@
 PP(pp_sysseek)
 {
     dSP;
-    IO *io;
     const int whence = POPi;
 #if LSEEKSIZE > IVSIZE
     const Off_t offset = (Off_t)SvNVx(POPs);
 #else
     const Off_t offset = (Off_t)SvIVx(POPs);
 #endif
-    MAGIC *mg;
 
     GV * const gv = PL_last_in_gv = (GV*)POPs;
+    IO *io;
 
-    if (gv && (io = GvIO(gv))
-       && (mg = SvTIED_mg((SV*)io, PERL_MAGIC_tiedscalar)))
-    {
-       PUSHMARK(SP);
-       XPUSHs(SvTIED_obj((SV*)io, mg));
+    if (gv && (io = GvIO(gv))) {
+       MAGIC * const mg = SvTIED_mg((SV*)io, PERL_MAGIC_tiedscalar);
+       if (mg) {
+           PUSHMARK(SP);
+           XPUSHs(SvTIED_obj((SV*)io, mg));
 #if LSEEKSIZE > IVSIZE
-       XPUSHs(sv_2mortal(newSVnv((NV) offset)));
+           XPUSHs(sv_2mortal(newSVnv((NV) offset)));
 #else
-       XPUSHs(sv_2mortal(newSViv(offset)));
+           XPUSHs(sv_2mortal(newSViv(offset)));
 #endif
-       XPUSHs(sv_2mortal(newSViv(whence)));
-       PUTBACK;
-       ENTER;
-       call_method("SEEK", G_SCALAR);
-       LEAVE;
-       SPAGAIN;
-       RETURN;
+           XPUSHs(sv_2mortal(newSViv(whence)));
+           PUTBACK;
+           ENTER;
+           call_method("SEEK", G_SCALAR);
+           LEAVE;
+           SPAGAIN;
+           RETURN;
+       }
     }
 
     if (PL_op->op_type == OP_SEEK)
@@ -2437,19 +2443,13 @@
     GV * const gv = (GV*)POPs;
     register IO * const io = GvIOn(gv);
     STRLEN len;
-    int bind_ok = 0;
 
     if (!io || !IoIFP(io))
        goto nuts;
 
     addr = SvPV_const(addrsv, len);
     TAINT_PROPER("bind");
-    if (PerlSock_bind(PerlIO_fileno(IoIFP(io)),
-                     (struct sockaddr *)addr, len) >= 0)
-       bind_ok = 1;
-
-
-    if (bind_ok)
+    if (PerlSock_bind(PerlIO_fileno(IoIFP(io)), (struct sockaddr *)addr, len) 
>= 0)
        RETPUSHYES;
     else
        RETPUSHUNDEF;
@@ -3728,8 +3728,7 @@
             SvTAINTED_on(sv);
 #endif
         XPUSHs(sv_2mortal(sv));
-    }
-    while (gimme == G_ARRAY);
+    } while (gimme == G_ARRAY);
 
     if (!dp && gimme != G_ARRAY)
         goto nope;

==== //depot/maint-5.8/perl/proto.h#183 (text+w) ====
Index: perl/proto.h
--- perl/proto.h#182~29984~     2007-01-25 14:41:11.000000000 -0800
+++ perl/proto.h        2007-01-26 01:15:17.000000000 -0800
@@ -1717,7 +1717,7 @@
 STATIC char *  S_sv_exp_grow(pTHX_ SV *sv, STRLEN needed)
                        __attribute__warn_unused_result__;
 
-STATIC char *  S_bytes_to_uni(pTHX_ const U8 *start, STRLEN len, char *dest)
+STATIC char *  S_bytes_to_uni(const U8 *start, STRLEN len, char *dest)
                        __attribute__warn_unused_result__;
 
 #endif

==== //depot/maint-5.8/perl/toke.c#150 (text) ====
Index: perl/toke.c
--- perl/toke.c#149~29984~      2007-01-25 14:41:11.000000000 -0800
+++ perl/toke.c 2007-01-26 01:15:17.000000000 -0800
@@ -292,7 +292,7 @@
     { USE,             TOKENTYPE_IVAL,         "USE" },
     { WHILE,           TOKENTYPE_IVAL,         "WHILE" },
     { WORD,            TOKENTYPE_OPVAL,        "WORD" },
-    { 0,               TOKENTYPE_NONE,         0 }
+    { 0,               TOKENTYPE_NONE,         NULL }
 };
 
 /* dump the returned token in rv, plus any optional arg in yylval */
@@ -419,8 +419,8 @@
                    "\t(Missing semicolon on previous line?)\n");
        else if (PL_oldoldbufptr && isIDFIRST_lazy_if(PL_oldoldbufptr,UTF)) {
            const char *t;
-           for (t = PL_oldoldbufptr; *t && (isALNUM_lazy_if(t,UTF) || *t == 
':'); t++)
-               /**/;
+           for (t = PL_oldoldbufptr; (isALNUM_lazy_if(t,UTF) || *t == ':'); 
t++)
+               NOOP;
            if (t < PL_bufptr && isSPACE(*t))
                Perl_warner(aTHX_ packWARN(WARN_SYNTAX),
                        "\t(Do you need to predeclare %.*s?)\n",
@@ -676,7 +676,9 @@
        e = t + 1;
     }
     else {
-       for (t = s; !isSPACE(*t); t++) ;
+       t = s;
+       while (!isSPACE(*t))
+           t++;
        e = t;
     }
     while (SPACE_OR_TAB(*e) || *e == '\r' || *e == '\f')
@@ -869,8 +871,9 @@
        return;
     while (isSPACE(*PL_last_uni))
        PL_last_uni++;
-    for (s = PL_last_uni; isALNUM_lazy_if(s,UTF) || *s == '-'; s++)
-       /**/;
+    s = PL_last_uni;
+    while (isALNUM_lazy_if(s,UTF) || *s == '-')
+       s++;
     if ((t = strchr(s, '(')) && t < PL_bufptr)
        return;
 
@@ -1006,7 +1009,7 @@
 STATIC void
 S_force_ident(pTHX_ register const char *s, int kind)
 {
-    if (s && *s) {
+    if (*s) {
        const STRLEN len = strlen(s);
        OP* const o = (OP*)newSVOP(OP_CONST, 0, newSVpvn(s, len));
        NEXTVAL_NEXTTOKE.opval = o;
@@ -2122,7 +2125,7 @@
                }
            }
        } else
-           gv = 0;
+           gv = NULL;
     }
     s = scan_word(s, tmpbuf, sizeof tmpbuf, TRUE, &len);
     /* start is the beginning of the possible filehandle/object,
@@ -2358,11 +2361,11 @@
     }
 
     /* use constant CLASS => 'MyClass' */
-    if ((gv = gv_fetchpvn_flags(pkgname, len, 0, SVt_PVCV))) {
-        SV *sv;
-        if (GvCV(gv) && (sv = cv_const_sv(GvCV(gv)))) {
+    gv = gv_fetchpvn_flags(pkgname, len, 0, SVt_PVCV);
+    if (gv && GvCV(gv)) {
+       SV * const sv = cv_const_sv(GvCV(gv));
+       if (sv)
             pkgname = SvPV_nolen_const(sv);
-        }
     }
 
     return gv_stashpv(pkgname, FALSE);
@@ -2979,8 +2982,10 @@
                }
 #endif
                if (d) {
-                   while (*d && !isSPACE(*d)) d++;
-                   while (SPACE_OR_TAB(*d)) d++;
+                   while (*d && !isSPACE(*d))
+                       d++;
+                   while (SPACE_OR_TAB(*d))
+                       d++;
 
                    if (*d++ == '-') {
                        const bool switches_done = PL_doswitches;
@@ -3677,12 +3682,13 @@
                }
        }
        if (PL_lex_brackets < PL_lex_formbrack) {
-           const char *t;
+           const char *t = s;
 #ifdef PERL_STRICT_CR
-           for (t = s; SPACE_OR_TAB(*t); t++) ;
+           while (SPACE_OR_TAB(*t))
 #else
-           for (t = s; SPACE_OR_TAB(*t) || *t == '\r'; t++) ;
+           while (SPACE_OR_TAB(*t) || *t == '\r')
 #endif
+               t++;
            if (*t == '\n' || *t == '#') {
                s--;
                PL_expect = XBLOCK;
@@ -3793,10 +3799,10 @@
                if (*s == '[') {
                    PL_tokenbuf[0] = '@';
                    if (ckWARN(WARN_SYNTAX)) {
-                       char *t;
-                       for(t = s + 1;
-                           isSPACE(*t) || isALNUM_lazy_if(t,UTF) || *t == '$';
-                           t++) ;
+                       char *t = s+1;
+
+                       while (isSPACE(*t) || isALNUM_lazy_if(t,UTF) || *t == 
'$')
+                           t++;
                        if (*t++ == ',') {
                            PL_bufptr = PEEKSPACE(PL_bufptr); /* XXX can 
realloc */
                            while (t < PL_bufend && *t != ']')
@@ -3814,12 +3820,15 @@
                        && (t = strchr(s, '}')) && (t = strchr(t, '=')))
                        {
                            char tmpbuf[sizeof PL_tokenbuf];
-                           for (t++; isSPACE(*t); t++) ;
+                           do {
+                               t++;
+                           } while (isSPACE(*t));
                            if (isIDFIRST_lazy_if(t,UTF)) {
                                STRLEN dummylen;
                                t = scan_word(t, tmpbuf, sizeof tmpbuf, TRUE,
                                              &dummylen);
-                               for (; isSPACE(*t); t++) ;
+                               while (isSPACE(*t))
+                                   t++;
                                if (*t == ';' && get_cv(tmpbuf, FALSE))
                                    Perl_warner(aTHX_ packWARN(WARN_SYNTAX),
                                                "You need to quote \"%s\"",
@@ -4347,7 +4356,9 @@
                if (*s == '(') {
                    CLINE;
                    if (cv) {
-                       for (d = s + 1; SPACE_OR_TAB(*d); d++) ;
+                       d = s + 1;
+                       while (SPACE_OR_TAB(*d))
+                           d++;
                        if (*d == ')' && (sv = gv_const_sv(gv))) {
                            s = d + 1;
                            goto its_constant;
@@ -4435,7 +4446,9 @@
                bareword:
                    if (lastchar != '-') {
                        if (ckWARN(WARN_RESERVED)) {
-                           for (d = PL_tokenbuf; *d && isLOWER(*d); d++) ;
+                           d = PL_tokenbuf;
+                           while (isLOWER(*d))
+                               d++;
                            if (!*d && !gv_stashpv(PL_tokenbuf,FALSE))
                                Perl_warner(aTHX_ packWARN(WARN_RESERVED), 
PL_warn_reserved,
                                       PL_tokenbuf);
@@ -5011,8 +5024,10 @@
            s = SKIPSPACE1(s);
            if (isIDFIRST_lazy_if(s,UTF)) {
                const char *t;
-               for (d = s; isALNUM_lazy_if(d,UTF); d++) ;
-               for (t=d; *t && isSPACE(*t); t++) ;
+               for (d = s; isALNUM_lazy_if(d,UTF);)
+                   d++;
+               for (t=d; isSPACE(*t);)
+                   t++;
                if ( *t && strchr("|&*+-=!?:.", *t) && ckWARN_d(WARN_PRECEDENCE)
                    /* [perl #16184] */
                    && !(t[0] == '=' && t[1] == '>')
@@ -5608,7 +5623,7 @@
 S_pending_ident(pTHX)
 {
     register char *d;
-    register PADOFFSET tmp = 0;
+    register I32 tmp = 0;
     /* pit holds the identifier we read and pending_ident is reset */
     char pit = PL_pending_ident;
     PL_pending_ident = 0;
@@ -9190,23 +9205,25 @@
            Perl_croak(aTHX_ ident_too_long);
        if (isALNUM(*s))        /* UTF handled below */
            *d++ = *s++;
-       else if (*s == '\'' && allow_package && isIDFIRST_lazy_if(s+1,UTF)) {
+       else if (allow_package && (*s == '\'') && isIDFIRST_lazy_if(s+1,UTF)) {
            *d++ = ':';
            *d++ = ':';
            s++;
        }
-       else if (*s == ':' && s[1] == ':' && allow_package && s[2] != '$') {
+       else if (allow_package && (s[0] == ':') && (s[1] == ':') && (s[2] != 
'$')) {
            *d++ = *s++;
            *d++ = *s++;
        }
        else if (UTF && UTF8_IS_START(*s) && isALNUM_utf8((U8*)s)) {
            char *t = s + UTF8SKIP(s);
+           size_t len;
            while (UTF8_IS_CONTINUED(*t) && is_utf8_mark((U8*)t))
                t += UTF8SKIP(t);
-           if (d + (t - s) > e)
+           len = t - s;
+           if (d + len > e)
                Perl_croak(aTHX_ ident_too_long);
-           Copy(s, d, t - s, char);
-           d += t - s;
+           Copy(s, d, len, char);
+           d += len;
            s = t;
        }
        else {
@@ -9318,10 +9335,11 @@
                    Perl_croak(aTHX_ ident_too_long);
            }
            *d = '\0';
-           while (s < send && SPACE_OR_TAB(*s)) s++;
+           while (s < send && SPACE_OR_TAB(*s))
+               s++;
            if ((*s == '[' || (*s == '{' && strNE(dest, "sub")))) {
                if (ckWARN(WARN_AMBIGUOUS) && keyword(dest, d - dest)) {
-                   const char *brack = *s == '[' ? "[...]" : "{...}";
+                   const char * const brack = (*s == '[') ? "[...]" : "{...}";
                    Perl_warner(aTHX_ packWARN(WARN_AMBIGUOUS),
                        "Ambiguous use of %c{%s%s} resolved to %c%s%s",
                        funny, dest, brack, funny, dest, brack);
@@ -9350,12 +9368,12 @@
                PL_lex_state = LEX_INTERPEND;
                PL_expect = XREF;
            }
-           if (funny == '#')
-               funny = '@';
            if (PL_lex_state == LEX_NORMAL) {
                if (ckWARN(WARN_AMBIGUOUS) &&
                    (keyword(dest, d - dest) || get_cv(dest, FALSE)))
                {
+                   if (funny == '#')
+                       funny = '@';
                    Perl_warner(aTHX_ packWARN(WARN_AMBIGUOUS),
                        "Ambiguous use of %c{%s} resolved to %c%s",
                        funny, dest, funny, dest);
@@ -9569,7 +9587,9 @@
     e = PL_tokenbuf + sizeof PL_tokenbuf - 1;
     if (!outer)
        *d++ = '\n';
-    for (peek = s; SPACE_OR_TAB(*peek); peek++) ;
+    peek = s;
+    while (SPACE_OR_TAB(*peek))
+       peek++;
     if (*peek == '`' || *peek == '\'' || *peek =='"') {
        s = peek;
        term = *s++;
@@ -9849,7 +9869,7 @@
           filehandle
        */
        if (*d == '$') {
-           PADOFFSET tmp;
+           I32 tmp;
 
            /* try to find it in the pad for this block, otherwise find
               add symbol table ops
@@ -10650,10 +10670,13 @@
 
     while (!needargs) {
        if (*s == '.') {
+           t = s+1;
 #ifdef PERL_STRICT_CR
-           for (t = s+1;SPACE_OR_TAB(*t); t++) ;
+           while (SPACE_OR_TAB(*t))
+               t++;
 #else
-           for (t = s+1;SPACE_OR_TAB(*t) || *t == '\r'; t++) ;
+           while (SPACE_OR_TAB(*t) || *t == '\r')
+               t++;
 #endif
            if (*t == '\n' || t == PL_bufend) {
                eofmt = TRUE;

==== //depot/maint-5.8/perl/utf8.c#72 (text) ====
Index: perl/utf8.c
--- perl/utf8.c#71~29980~       2007-01-25 13:15:39.000000000 -0800
+++ perl/utf8.c 2007-01-26 01:15:17.000000000 -0800
@@ -262,13 +262,10 @@
 bool
 Perl_is_utf8_string(pTHX_ U8 *s, STRLEN len)
 {
+    const U8* const send = s + (len ? len : strlen((const char *)s));
     const U8* x = s;
-    const U8* send;
 
     PERL_UNUSED_CONTEXT;
-    if (!len)
-       len = strlen((const char *)s);
-    send = s + len;
 
     while (x < send) {
        STRLEN c;
@@ -329,16 +326,12 @@
 bool
 Perl_is_utf8_string_loclen(pTHX_ const U8 *s, STRLEN len, const U8 **ep, 
STRLEN *el)
 {
+    const U8* const send = s + (len ? len : strlen((const char *)s));
     const U8* x = s;
-    const U8* send;
     STRLEN c;
     STRLEN outlen = 0;
     PERL_UNUSED_CONTEXT;
 
-    if (!len)
-        len = strlen((const char *)s);
-    send = s + len;
-
     while (x < send) {
         /* Inline the easy bits of is_utf8_char() here for speed... */
         if (UTF8_IS_INVARIANT(*x))
@@ -817,7 +810,7 @@
        }
     }
 
-    *is_utf8 = 0;              
+    *is_utf8 = FALSE;
 
     Newx(d, (*len) - count + 1, U8);
     s2 = start; start = d;
@@ -1367,10 +1360,10 @@
     if (special && (uv1 == 0xDF || uv1 > 0xFF)) {
          /* It might be "special" (sometimes, but not always,
          * a multicharacter mapping) */
-        HV *hv;
+        HV * const hv = get_hv(special, FALSE);
         SV **svp;
 
-        if ((hv  = get_hv(special, FALSE)) &&
+        if (hv &&
             (svp = hv_fetch(hv, (const char*)tmpbuf, UNISKIP(uv1), FALSE)) &&
             (*svp)) {
             const char *s;
@@ -1620,7 +1613,7 @@
     U32 bit;
     SV *swatch;
     U8 tmputf8[2];
-    UV c = NATIVE_TO_ASCII(*ptr);
+    const UV c = NATIVE_TO_ASCII(*ptr);
 
     if (!do_utf8 && !UNI_IS_INVARIANT(c)) {
        tmputf8[0] = (U8)UTF8_EIGHT_BIT_HI(c);
@@ -1782,7 +1775,7 @@
     l = (U8*)SvPV(*listsvp, lcur);
     lend = l + lcur;
     while (l < lend) {
-       UV min, max, val, key;
+       UV min, max, val;
        STRLEN numlen;
        I32 flags = PERL_SCAN_SILENT_ILLDIGIT | PERL_SCAN_DISALLOW_PREFIX;
 
@@ -1855,6 +1848,7 @@
            continue;
 
        if (octets) {
+           UV key;
            if (min < start) {
                if (!none || val < none) {
                    val += start - min;
@@ -1885,6 +1879,7 @@
            }
        }
        else { /* bits == 1, then val should be ignored */
+           UV key;
            if (min < start)
                min = start;
            for (key = min; key <= max; key++) {
@@ -1910,7 +1905,7 @@
        U8 *s, *o, *nl;
        STRLEN slen, olen;
 
-       U8 opc = *x++;
+       const U8 opc = *x++;
        if (opc == '\n')
            continue;
 
@@ -1980,7 +1975,7 @@
        else {
            STRLEN otheroctets = otherbits >> 3;
            STRLEN offset = 0;
-           U8* send = s + slen;
+           U8* const send = s + slen;
 
            while (s < send) {
                UV otherval = 0;

==== //depot/maint-5.8/perl/util.c#131 (text) ====
Index: perl/util.c
--- perl/util.c#130~29984~      2007-01-25 14:41:11.000000000 -0800
+++ perl/util.c 2007-01-26 01:15:17.000000000 -0800
@@ -338,16 +338,15 @@
 {
     register I32 tolen;
     PERL_UNUSED_CONTEXT;
+
     for (tolen = 0; from < fromend; from++, tolen++) {
        if (*from == '\\') {
-           if (from[1] == delim)
-               from++;
-           else {
+           if (from[1] != delim) {
                if (to < toend)
                    *to++ = *from;
                tolen++;
-               from++;
            }
+           from++;
        }
        else if (*from == delim)
            break;
@@ -1523,8 +1522,6 @@
        ;
 }
 
-
-
 /* since we've already done strlen() for both nam and val
  * we can use that info to make things faster than
  * sprintf(s, "%s=%s", nam, val)
@@ -1557,7 +1554,9 @@
        I32 max;
        char **tmpenv;
 
-       for (max = i; environ[max]; max++) ;
+       max = i;
+       while (environ[max])
+           max++;
        tmpenv = (char**)safesysmalloc((max+2) * sizeof(char*));
        for (j=0; j<max; j++) {         /* copy environment */
            const int len = strlen(environ[j]);
@@ -1680,10 +1679,11 @@
 I32
 Perl_unlnk(pTHX_ char *f)      /* unlink all versions of a file */
 {
-    I32 i;
+    I32 retries = 0;
 
-    for (i = 0; PerlLIO_unlink(f) >= 0; i++) ;
-    return i ? 0 : -1;
+    while (PerlLIO_unlink(f) >= 0)
+       retries++;
+    return retries ? 0 : -1;
 }
 #endif
 
@@ -4565,7 +4565,8 @@
   if (*p) {
        if (isDIGIT(*p)) {
            opt = (U32) atoi(p);
-           while (isDIGIT(*p)) p++;
+           while (isDIGIT(*p))
+               p++;
            if (*p && *p != '\n' && *p != '\r')
                 Perl_croak(aTHX_ "Unknown Unicode option letter '%c'", *p);
        }
@@ -4701,7 +4702,8 @@
      UV myseed = 0;
 
      if (s)
-         while (isSPACE(*s)) s++;
+       while (isSPACE(*s))
+           s++;
      if (s && isDIGIT(*s))
          myseed = (UV)Atoul(s);
      else
End of Patch.

Reply via email to