Change 30004 by [EMAIL PROTECTED] on 2007/01/26 11:57:08
Integrate:
[ 28468]
Subject: [PATCH] Clean up mathoms.c
From: [EMAIL PROTECTED] (Andy Lester)
Date: Sun, 2 Jul 2006 12:24:45 -0500
Message-ID: <[EMAIL PROTECTED]>
[ 28469]
Subject: [PATCH] mg.c cleanups
From: [EMAIL PROTECTED] (Andy Lester)
Date: Sun, 2 Jul 2006 12:33:36 -0500
Message-ID: <[EMAIL PROTECTED]>
[ 28477]
Subject: [PATCH] consting and localizing in universal.c
From: [EMAIL PROTECTED] (Andy Lester)
Date: Mon, 3 Jul 2006 17:41:48 -0500
Message-ID: <[EMAIL PROTECTED]>
Affected files ...
... //depot/maint-5.8/perl/embed.fnc#196 integrate
... //depot/maint-5.8/perl/mathoms.c#24 edit
... //depot/maint-5.8/perl/mg.c#137 integrate
... //depot/maint-5.8/perl/proto.h#186 integrate
... //depot/maint-5.8/perl/universal.c#60 integrate
Differences ...
==== //depot/maint-5.8/perl/embed.fnc#196 (text) ====
Index: perl/embed.fnc
--- perl/embed.fnc#195~29997~ 2007-01-26 02:30:23.000000000 -0800
+++ perl/embed.fnc 2007-01-26 03:57:08.000000000 -0800
@@ -1394,7 +1394,7 @@
#endif
#if defined(PERL_IN_UNIVERSAL_C) || defined(PERL_DECL_PROT)
-s |bool|isa_lookup |NULLOK HV *stash|NN const char *name|NULLOK HV
*name_stash|int len|int level
+s |bool|isa_lookup |NULLOK HV *stash|NN const char *name|NULLOK
const HV * const name_stash|int len|int level
#endif
#if defined(PERL_IN_LOCALE_C) || defined(PERL_DECL_PROT)
==== //depot/maint-5.8/perl/mathoms.c#24 (text) ====
Index: perl/mathoms.c
--- perl/mathoms.c#23~29966~ 2007-01-25 02:15:27.000000000 -0800
+++ perl/mathoms.c 2007-01-26 03:57:08.000000000 -0800
@@ -29,6 +29,43 @@
#define PERL_IN_MATHOMS_C
#include "perl.h"
+OP * Perl_ref(pTHX_ OP *o, I32 type);
+void Perl_sv_unref(pTHX_ SV *sv);
+void Perl_sv_taint(pTHX_ SV *sv);
+IV Perl_sv_2iv(pTHX_ register SV *sv);
+UV Perl_sv_2uv(pTHX_ register SV *sv);
+char * Perl_sv_2pv(pTHX_ register SV *sv, STRLEN *lp);
+char * Perl_sv_2pv_nolen(pTHX_ register SV *sv);
+char * Perl_sv_2pvbyte_nolen(pTHX_ register SV *sv);
+char * Perl_sv_2pvutf8_nolen(pTHX_ register SV *sv);
+void Perl_sv_force_normal(pTHX_ register SV *sv);
+void Perl_sv_setsv(pTHX_ SV *dstr, register SV *sstr);
+void Perl_sv_catpvn(pTHX_ SV *dsv, const char* sstr, STRLEN slen);
+void Perl_sv_catpvn_mg(pTHX_ register SV *sv, register const char *ptr,
register STRLEN len);
+void Perl_sv_catsv(pTHX_ SV *dstr, register SV *sstr);
+void Perl_sv_catsv_mg(pTHX_ SV *dsv, register SV *ssv);
+char * Perl_sv_pv(pTHX_ SV *sv);
+char * Perl_sv_pvn_force(pTHX_ SV *sv, STRLEN *lp);
+char * Perl_sv_pvbyte(pTHX_ SV *sv);
+char * Perl_sv_pvutf8(pTHX_ SV *sv);
+STRLEN Perl_sv_utf8_upgrade(pTHX_ register SV *sv);
+NV Perl_huge(void);
+void Perl_gv_fullname3(pTHX_ SV *sv, GV *gv, const char *prefix);
+void Perl_gv_efullname3(pTHX_ SV *sv, GV *gv, const char *prefix);
+GV * Perl_gv_fetchmethod(pTHX_ HV *stash, const char *name);
+HE * Perl_hv_iternext(pTHX_ HV *hv);
+void Perl_hv_magic(pTHX_ HV *hv, GV *gv, int how);
+bool Perl_do_open(pTHX_ GV *gv, register char *name, I32 len, int as_raw,
+ int rawmode, int rawperm, PerlIO *supplied_fp);
+bool Perl_do_aexec(pTHX_ SV *really, register SV **mark, register SV **sp);
+bool Perl_do_exec(pTHX_ char *cmd);
+U8 * Perl_uvuni_to_utf8(pTHX_ U8 *d, UV uv);
+bool Perl_is_utf8_string_loc(pTHX_ U8 *s, STRLEN len, U8 **ep);
+void Perl_sv_nolocking(pTHX_ SV *sv);
+void Perl_sv_usepvn_mg(pTHX_ SV *sv, char *ptr, STRLEN len);
+void Perl_sv_usepvn(pTHX_ SV *sv, char *ptr, STRLEN len);
+
+
/* ref() is now a macro using Perl_doref;
* this version provided for binary compatibility only.
*/
@@ -109,7 +146,7 @@
char *
Perl_sv_2pv_nolen(pTHX_ register SV *sv)
{
- return sv_2pv(sv, 0);
+ return sv_2pv(sv, NULL);
}
/*
@@ -126,7 +163,7 @@
char *
Perl_sv_2pvbyte_nolen(pTHX_ register SV *sv)
{
- return sv_2pvbyte(sv, 0);
+ return sv_2pvbyte(sv, NULL);
}
/*
@@ -143,7 +180,7 @@
char *
Perl_sv_2pvutf8_nolen(pTHX_ register SV *sv)
{
- return sv_2pvutf8(sv, 0);
+ return sv_2pvutf8(sv, NULL);
}
/*
@@ -321,7 +358,7 @@
if (SvPOK(sv))
return SvPVX(sv);
- return sv_2pv(sv, 0);
+ return sv_2pv(sv, NULL);
}
/* sv_pvn_force() is now a macro using Perl_sv_pvn_force_flags();
@@ -341,7 +378,7 @@
char *
Perl_sv_pvbyte(pTHX_ SV *sv)
{
- sv_utf8_downgrade(sv,0);
+ sv_utf8_downgrade(sv, FALSE);
return sv_pv(sv);
}
@@ -362,7 +399,7 @@
char *
Perl_sv_pvbyten(pTHX_ SV *sv, STRLEN *lp)
{
- sv_utf8_downgrade(sv,0);
+ sv_utf8_downgrade(sv, FALSE);
return sv_pvn(sv,lp);
}
==== //depot/maint-5.8/perl/mg.c#137 (text) ====
Index: perl/mg.c
--- perl/mg.c#136~29999~ 2007-01-26 03:02:10.000000000 -0800
+++ perl/mg.c 2007-01-26 03:57:08.000000000 -0800
@@ -276,7 +276,7 @@
if (DO_UTF8(sv)) {
const U8 *s = (U8*)SvPV_const(sv, len);
- len = Perl_utf8_length(aTHX_ (U8*)s, (U8*)s + len);
+ len = utf8_length((U8*)s, (U8*)s + len);
}
else
(void)SvPV_const(sv, len);
@@ -529,7 +529,7 @@
if (i > 0 && RX_MATCH_UTF8(rx)) {
const char * const b = rx->subbeg;
if (b)
- i = Perl_utf8_length(aTHX_ (U8*)b, (U8*)(b+i));
+ i = utf8_length((U8*)b, (U8*)(b+i));
}
sv_setiv(sv, i);
@@ -815,10 +815,11 @@
else if (PL_compiling.cop_warnings == pWARN_ALL) {
/* Get the bit mask for $warnings::Bits{all}, because
* it could have been extended by warnings::register */
- SV **bits_all;
HV * const bits=get_hv("warnings::Bits", FALSE);
- if (bits && (bits_all=hv_fetchs(bits, "all", FALSE))) {
- sv_setsv(sv, *bits_all);
+ if (bits) {
+ SV ** const bits_all = hv_fetchs(bits, "all", FALSE);
+ if (bits_all)
+ sv_setsv(sv, *bits_all);
}
else {
sv_setpvn(sv, WARN_ALLstring, WARNsize) ;
@@ -1107,6 +1108,11 @@
char tmpbuf[256];
Stat_t st;
I32 i;
+#ifdef VMS /* Hmm. How do we get $Config{path_sep} from C? */
+ const char path_sep = '|';
+#else
+ const char path_sep = ':';
+#endif
s = delimcpy(tmpbuf, tmpbuf + sizeof tmpbuf,
(char *) s, (char *) strend, ':', &i);
s++;
@@ -1184,7 +1190,7 @@
restore_sigmask(pTHX_ SV *save_sv)
{
const sigset_t * const ossetp = (const sigset_t *) SvPV_nolen_const(
save_sv );
- (void)sigprocmask(SIG_SETMASK, ossetp, (sigset_t *)0);
+ (void)sigprocmask(SIG_SETMASK, ossetp, NULL);
}
#endif
int
@@ -2543,8 +2549,7 @@
}
if (i)
(void)setgroups(i, gary);
- if (gary)
- Safefree(gary);
+ Safefree(gary);
}
#else /* HAS_SETGROUPS */
PL_egid = SvIV(sv);
@@ -2870,9 +2875,9 @@
/* downgrade public flags to private,
and discard any other private flags */
- U32 public = SvFLAGS(sv) & (SVf_IOK|SVf_NOK|SVf_POK);
+ const U32 public = SvFLAGS(sv) & (SVf_IOK|SVf_NOK|SVf_POK);
if (public) {
- SvFLAGS(sv) &= ~( public | SVp_IOK|SVp_NOK|SVp_POK );
+ SvFLAGS(sv) &= ~( public | (SVp_IOK|SVp_NOK|SVp_POK) );
SvFLAGS(sv) |= ( public << PRIVSHIFT );
}
}
==== //depot/maint-5.8/perl/proto.h#186 (text+w) ====
Index: perl/proto.h
--- perl/proto.h#185~29997~ 2007-01-26 02:30:23.000000000 -0800
+++ perl/proto.h 2007-01-26 03:57:08.000000000 -0800
@@ -2015,7 +2015,7 @@
#endif
#if defined(PERL_IN_UNIVERSAL_C) || defined(PERL_DECL_PROT)
-STATIC bool S_isa_lookup(pTHX_ HV *stash, const char *name, HV *name_stash,
int len, int level);
+STATIC bool S_isa_lookup(pTHX_ HV *stash, const char *name, const HV *
const name_stash, int len, int level);
#endif
#if defined(PERL_IN_LOCALE_C) || defined(PERL_DECL_PROT)
==== //depot/maint-5.8/perl/universal.c#60 (text) ====
Index: perl/universal.c
--- perl/universal.c#59~29984~ 2007-01-25 14:41:11.000000000 -0800
+++ perl/universal.c 2007-01-26 03:57:08.000000000 -0800
@@ -32,7 +32,7 @@
*/
STATIC bool
-S_isa_lookup(pTHX_ HV *stash, const char *name, HV* name_stash,
+S_isa_lookup(pTHX_ HV *stash, const char *name, const HV* const name_stash,
int len, int level)
{
AV* av;
@@ -44,7 +44,7 @@
/* A stash/class can go by many names (ie. User == main::User), so
we compare the stash itself just in case */
- if (name_stash && (stash == name_stash))
+ if (name_stash && ((const HV *)stash == name_stash))
return TRUE;
hvname = HvNAME_get(stash);
@@ -65,11 +65,12 @@
&& (hv = GvHV(gv)))
{
if (SvIV(subgen) == (IV)PL_sub_generation) {
- SV* sv;
SV** const svp = (SV**)hv_fetch(hv, name, len, FALSE);
- if (svp && (sv = *svp) != (SV*)&PL_sv_undef) {
- DEBUG_o( Perl_deb(aTHX_ "Using cached ISA %s for package %s\n",
- name, hvname) );
+ if (svp) {
+ SV * const sv = *svp;
+ if (sv != &PL_sv_undef)
+ DEBUG_o( Perl_deb(aTHX_ "Using cached ISA %s for package
%s\n",
+ name, hvname) );
return (sv == &PL_sv_yes);
}
}
End of Patch.