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.