X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=pp_ctl.c;h=9c8cb83ed99dc60a8536a58c4031a6a552edd4d7;hb=6d7fb585cd8ad83f4523191641999603aa48eb76;hp=2f563ef7a2372fa958793cb1ab5b050ad81c50f9;hpb=0d863452f5cac86322a90184dc68dbf446006ed7;p=p5sagit%2Fp5-mst-13.2.git diff --git a/pp_ctl.c b/pp_ctl.c index 2f563ef..9c8cb83 100644 --- a/pp_ctl.c +++ b/pp_ctl.c @@ -188,7 +188,7 @@ PP(pp_substcont) register char *m = cx->sb_m; char *orig = cx->sb_orig; register REGEXP * const rx = cx->sb_rx; - SV *nsv = Nullsv; + SV *nsv = NULL; REGEXP *old = PM_GETRE(pm); if(old != rx) { if(old) @@ -280,7 +280,7 @@ PP(pp_substcont) if (SvTYPE(sv) < SVt_PVMG) SvUPGRADE(sv, SVt_PVMG); if (!(mg = mg_find(sv, PERL_MAGIC_regex_global))) { - sv_magic(sv, Nullsv, PERL_MAGIC_regex_global, Nullch, 0); + sv_magic(sv, NULL, PERL_MAGIC_regex_global, NULL, 0); mg = mg_find(sv, PERL_MAGIC_regex_global); } i = m - orig; @@ -314,12 +314,12 @@ Perl_rxres_save(pTHX_ void **rsp, REGEXP *rx) *rsp = (void*)p; } - *p++ = PTR2UV(RX_MATCH_COPIED(rx) ? rx->subbeg : Nullch); + *p++ = PTR2UV(RX_MATCH_COPIED(rx) ? rx->subbeg : NULL); RX_MATCH_COPIED_off(rx); #ifdef PERL_OLD_COPY_ON_WRITE *p++ = PTR2UV(rx->saved_copy); - rx->saved_copy = Nullsv; + rx->saved_copy = NULL; #endif *p++ = rx->nparens; @@ -391,14 +391,14 @@ PP(pp_formline) register char *t; const char *f; register I32 arg; - register SV *sv = Nullsv; - const char *item = Nullch; + register SV *sv = NULL; + const char *item = NULL; I32 itemsize = 0; I32 fieldsize = 0; I32 lines = 0; - bool chopspace = (strchr(PL_chopset, ' ') != Nullch); - const char *chophere = Nullch; - char *linemark = Nullch; + bool chopspace = (strchr(PL_chopset, ' ') != NULL); + const char *chophere = NULL; + char *linemark = NULL; NV value; bool gotsome = FALSE; STRLEN len; @@ -406,7 +406,7 @@ PP(pp_formline) ? (SvCUR(tmpForm) * (IN_BYTES ? 1 : 3) + 1) : 0; bool item_is_utf8 = FALSE; bool targ_is_utf8 = FALSE; - SV * nsv = Nullsv; + SV * nsv = NULL; OP * parseres = 0; const char *fmt; bool oneline; @@ -1442,7 +1442,7 @@ Perl_die_where(pTHX_ const char *message, STRLEN msglen) if (PL_in_eval & EVAL_KEEPERR) { static const char prefix[] = "\t(in cleanup) "; SV * const err = ERRSV; - const char *e = Nullch; + const char *e = NULL; if (!SvPOK(err)) sv_setpvn(err,"",0); else if (SvCUR(err) >= sizeof(prefix)+msglen-1) { @@ -1450,7 +1450,7 @@ Perl_die_where(pTHX_ const char *message, STRLEN msglen) e = SvPV_const(err, len); e += len - msglen; if (*e != *message || strNE(e,message)) - e = Nullch; + e = NULL; } if (!e) { SvGROW(err, SvCUR(err)+sizeof(prefix)+msglen); @@ -1609,7 +1609,7 @@ PP(pp_caller) /* So is ccstack[dbcxix]. */ if (isGV(cvgv)) { SV * const sv = NEWSV(49, 0); - gv_efullname3(sv, cvgv, Nullch); + gv_efullname3(sv, cvgv, NULL); PUSHs(sv_2mortal(sv)); PUSHs(sv_2mortal(newSViv((I32)cx->blk_sub.hasargs))); } @@ -2033,7 +2033,7 @@ PP(pp_return) POPSUB(cx,sv); /* release CV and @_ ... */ } else - sv = Nullsv; + sv = NULL; PL_curpm = newpm; /* ... and pop $1 et al */ LEAVESUB(sv); @@ -2054,7 +2054,7 @@ PP(pp_last) SV **newsp; PMOP *newpm; SV **mark; - SV *sv = Nullsv; + SV *sv = NULL; if (PL_op->op_flags & OPf_SPECIAL) { @@ -2286,7 +2286,7 @@ PP(pp_goto) if (autogv && (cv = GvCV(autogv))) goto retry; tmpstr = sv_newmortal(); - gv_efullname3(tmpstr, gv, Nullch); + gv_efullname3(tmpstr, gv, NULL); DIE(aTHX_ "Goto undefined subroutine &%"SVf"",tmpstr); } DIE(aTHX_ "Goto undefined subroutine"); @@ -2462,7 +2462,7 @@ PP(pp_goto) (void)SvIOK_on(sv); SvIV_set(sv, PTR2IV(cv)); /* Do it the quickest way */ } else { - gv_efullname3(sv, CvGV(cv), Nullch); + gv_efullname3(sv, CvGV(cv), NULL); } if ( PERLDB_GOTO && (gotocv = get_cv("DB::goto", FALSE)) ) { @@ -3031,8 +3031,7 @@ STATIC PerlIO * S_check_type_and_open(pTHX_ const char *name, const char *mode) { Stat_t st; - int st_rc; - st_rc = PerlLIO_stat(name, &st); + const int st_rc = PerlLIO_stat(name, &st); if (st_rc < 0) { return Nullfp; } @@ -3087,15 +3086,15 @@ PP(pp_require) SV *sv; const char *name; STRLEN len; - const char *tryname = Nullch; - SV *namesv = Nullsv; + const char *tryname = NULL; + SV *namesv = NULL; const I32 gimme = GIMME_V; - PerlIO *tryrsfp = 0; int filter_has_file = 0; - GV *filter_child_proc = 0; - SV *filter_state = 0; - SV *filter_sub = 0; - SV *hook_sv = 0; + PerlIO *tryrsfp = NULL; + GV *filter_child_proc = NULL; + SV *filter_state = NULL; + SV *filter_sub = NULL; + SV *hook_sv = NULL; SV *encoding; OP *op; @@ -3157,7 +3156,7 @@ PP(pp_require) I32 i; #ifdef VMS char *unixname; - if ((unixname = tounixspec(name, Nullch)) != Nullch) + if ((unixname = tounixspec(name, NULL)) != NULL) #endif { namesv = NEWSV(806, 0); @@ -3177,7 +3176,7 @@ PP(pp_require) Perl_sv_setpvf(aTHX_ namesv, "/loader/0x%"UVxf"/%s", PTR2UV(SvRV(dirsv)), name); tryname = SvPVX_const(namesv); - tryrsfp = 0; + tryrsfp = NULL; ENTER; SAVETMPS; @@ -3244,9 +3243,8 @@ PP(pp_require) (void)SvREFCNT_inc(filter_state); } - if (tryrsfp == 0) { - tryrsfp = PerlIO_open("/dev/null", - PERL_SCRIPT_MODE); + if (!tryrsfp) { + tryrsfp = PerlIO_open("/dev/null", PERL_SCRIPT_MODE); } } SP--; @@ -3264,15 +3262,15 @@ PP(pp_require) filter_has_file = 0; if (filter_child_proc) { SvREFCNT_dec(filter_child_proc); - filter_child_proc = 0; + filter_child_proc = NULL; } if (filter_state) { SvREFCNT_dec(filter_state); - filter_state = 0; + filter_state = NULL; } if (filter_sub) { SvREFCNT_dec(filter_sub); - filter_sub = 0; + filter_sub = NULL; } } else { @@ -3294,7 +3292,7 @@ PP(pp_require) #else # ifdef VMS char *unixdir; - if ((unixdir = tounixpath(dir, Nullch)) == Nullch) + if ((unixdir = tounixpath(dir, NULL)) == NULL) continue; sv_setpv(namesv, unixdir); sv_catpv(namesv, unixname); @@ -3400,10 +3398,10 @@ PP(pp_require) else PL_compiling.cop_warnings = pWARN_STD ; SAVESPTR(PL_compiling.cop_io); - PL_compiling.cop_io = Nullsv; + PL_compiling.cop_io = NULL; if (filter_sub || filter_child_proc) { - SV * const datasv = filter_add(S_run_user_filter, Nullsv); + SV * const datasv = filter_add(S_run_user_filter, NULL); IoLINES(datasv) = filter_has_file; IoFMT_GV(datasv) = (GV *)filter_child_proc; IoTOP_GV(datasv) = (GV *)filter_state; @@ -3422,7 +3420,7 @@ PP(pp_require) /* Store and reset encoding. */ encoding = PL_encoding; - PL_encoding = Nullsv; + PL_encoding = NULL; op = DOCATCH(doeval(gimme, NULL, Nullcv, PL_curcop->cop_seq)); @@ -3446,7 +3444,7 @@ PP(pp_entereval) OP *ret; CV* runcv; U32 seq; - HV *saved_hh = 0; + HV *saved_hh = NULL; if (PL_op->op_private & OPpEVAL_HAS_HH) { saved_hh = (HV*) SvREFCNT_inc(POPs); @@ -3616,7 +3614,6 @@ PP(pp_entertry) PP(pp_leavetry) { dVAR; dSP; - register SV **mark; SV **newsp; PMOP *newpm; I32 gimme; @@ -3631,6 +3628,7 @@ PP(pp_leavetry) if (gimme == G_VOID) SP = newsp; else if (gimme == G_SCALAR) { + register SV **mark; MARK = newsp + 1; if (MARK <= SP) { if (SvFLAGS(TOPs) & (SVs_PADTMP|SVs_TEMP)) @@ -3646,6 +3644,7 @@ PP(pp_leavetry) } else { /* in case LEAVE wipes old return values */ + register SV **mark; for (mark = newsp + 1; mark <= SP; mark++) { if (!(SvFLAGS(*mark) & (SVs_PADTMP|SVs_TEMP))) { *mark = sv_mortalcopy(*mark); @@ -3670,7 +3669,7 @@ PP(pp_entergiven) SAVETMPS; if (PL_op->op_targ == 0) { - SV **defsv_p = &GvSV(PL_defgv); + SV ** const defsv_p = &GvSV(PL_defgv); *defsv_p = newSVsv(POPs); SAVECLEARSV(*defsv_p); } @@ -3831,10 +3830,10 @@ S_do_smartmatch(pTHX_ HV *seen_this, HV *seen_other) # define SM_SEEN_THIS(sv) hv_exists_ent(seen_this, \ - sv_2mortal(newSViv((IV) sv)), 0) + sv_2mortal(newSViv(PTR2IV(sv))), 0) # define SM_SEEN_OTHER(sv) hv_exists_ent(seen_other, \ - sv_2mortal(newSViv((IV) sv)), 0) + sv_2mortal(newSViv(PTR2IV(sv))), 0) tryAMAGICbinSET(smart, 0); @@ -3894,7 +3893,7 @@ S_do_smartmatch(pTHX_ HV *seen_this, HV *seen_other) tied = TRUE; } else if (SvTIED_mg((SV *) other_hv, PERL_MAGIC_tied)) { - HV * temp = other_hv; + HV * const temp = other_hv; other_hv = (HV *) this; this = (SV *) temp; tied = TRUE; @@ -3910,7 +3909,7 @@ S_do_smartmatch(pTHX_ HV *seen_this, HV *seen_other) (void) hv_iterinit((HV *) this); while ( (he = hv_iternext((HV *) this)) ) { I32 key_len; - char *key = hv_iterkey(he, &key_len); + char * const key = hv_iterkey(he, &key_len); ++ this_key_count; @@ -3934,15 +3933,15 @@ S_do_smartmatch(pTHX_ HV *seen_this, HV *seen_other) RETPUSHYES; } else if (SM_OTHER_REF(PVAV)) { - AV *other_av = (AV *) SvRV(other); - I32 other_len = av_len(other_av) + 1; + AV * const other_av = (AV *) SvRV(other); + const I32 other_len = av_len(other_av) + 1; I32 i; if (HvUSEDKEYS((HV *) this) != other_len) RETPUSHNO; for(i = 0; i < other_len; ++i) { - SV **svp = av_fetch(other_av, i, FALSE); + SV ** const svp = av_fetch(other_av, i, FALSE); char *key; STRLEN key_len; @@ -3956,7 +3955,7 @@ S_do_smartmatch(pTHX_ HV *seen_this, HV *seen_other) RETPUSHYES; } else if (SM_OTHER_REGEX) { - PMOP *matcher = make_matcher(other_regex); + PMOP * const matcher = make_matcher(other_regex); HE *he; (void) hv_iterinit((HV *) this); @@ -3984,7 +3983,7 @@ S_do_smartmatch(pTHX_ HV *seen_this, HV *seen_other) RETPUSHNO; else { I32 i; - I32 other_len = av_len(other_av); + const I32 other_len = av_len(other_av); if (Nullhv == seen_this) { seen_this = newHV(); @@ -3995,9 +3994,9 @@ S_do_smartmatch(pTHX_ HV *seen_this, HV *seen_other) (void) sv_2mortal((SV *) seen_other); } for(i = 0; i <= other_len; ++i) { - SV **this_elem = av_fetch((AV *)this, i, FALSE); - SV **other_elem = av_fetch(other_av, i, FALSE); - + SV * const * const this_elem = av_fetch((AV *)this, i, FALSE); + SV * const * const other_elem = av_fetch(other_av, i, FALSE); + if (!this_elem || !other_elem) { if (this_elem || other_elem) RETPUSHNO; @@ -4010,10 +4009,10 @@ S_do_smartmatch(pTHX_ HV *seen_this, HV *seen_other) } else { hv_store_ent(seen_this, - sv_2mortal(newSViv((IV) *this_elem)), + sv_2mortal(newSViv(PTR2IV(*this_elem))), &PL_sv_undef, 0); hv_store_ent(seen_other, - sv_2mortal(newSViv((IV) *other_elem)), + sv_2mortal(newSViv(PTR2IV(*other_elem))), &PL_sv_undef, 0); PUSHs(*this_elem); PUSHs(*other_elem); @@ -4030,12 +4029,12 @@ S_do_smartmatch(pTHX_ HV *seen_this, HV *seen_other) } } else if (SM_OTHER_REGEX) { - PMOP *matcher = make_matcher(other_regex); + PMOP * const matcher = make_matcher(other_regex); + const I32 this_len = av_len((AV *) this); I32 i; - I32 this_len = av_len((AV *) this); for(i = 0; i <= this_len; ++i) { - SV ** svp = av_fetch((AV *)this, i, FALSE); + SV * const * const svp = av_fetch((AV *)this, i, FALSE); if (svp && matcher_matches_sv(matcher, *svp)) { destroy_matcher(matcher); RETPUSHYES; @@ -4048,7 +4047,7 @@ S_do_smartmatch(pTHX_ HV *seen_this, HV *seen_other) I32 i; for(i = 0; i <= AvFILL((AV *) this); ++i) { - SV ** svp = av_fetch((AV *)this, i, FALSE); + SV * const * const svp = av_fetch((AV *)this, i, FALSE); if (!svp) continue; @@ -4066,11 +4065,11 @@ S_do_smartmatch(pTHX_ HV *seen_this, HV *seen_other) RETPUSHNO; } else if (SvPOK(other)) { + const I32 this_len = av_len((AV *) this); I32 i; - I32 this_len = av_len((AV *) this); for(i = 0; i <= this_len; ++i) { - SV ** svp = av_fetch((AV *)this, i, FALSE); + SV * const * const svp = av_fetch((AV *)this, i, FALSE); if (!svp) continue; @@ -4092,7 +4091,7 @@ S_do_smartmatch(pTHX_ HV *seen_this, HV *seen_other) RETPUSHNO; } else if (SM_REGEX) { - PMOP *matcher = make_matcher(this_regex); + PMOP * const matcher = make_matcher(this_regex); PUTBACK; PUSHs(matcher_matches_sv(matcher, other) @@ -4269,8 +4268,8 @@ S_doparseform(pTHX_ SV *sv) { STRLEN len; register char *s = SvPV_force(sv, len); - register char *send = s + len; - register char *base = Nullch; + register char * const send = s + len; + register char *base = NULL; register I32 skipspaces = 0; bool noblank = FALSE; bool repeat = FALSE; @@ -4292,7 +4291,7 @@ S_doparseform(pTHX_ SV *sv) maxops += 10; } s = base; - base = Nullch; + base = NULL; Newx(fops, maxops, U32); fpc = fops; @@ -4473,7 +4472,7 @@ S_doparseform(pTHX_ SV *sv) } Copy(fops, s, arg, U32); Safefree(fops); - sv_magic(sv, Nullsv, PERL_MAGIC_fm, Nullch, 0); + sv_magic(sv, NULL, PERL_MAGIC_fm, NULL, 0); SvCOMPILED_on(sv); if (unchopnum && repeat)