if (!padlist)
return;
- if (!SvREFCNT(CvPADLIST(cv))) /* may be during global destruction */
+ if (SvIS_FREED(padlist)) /* may be during global destruction */
return;
DEBUG_X(PerlIO_printf(Perl_debug_log,
if (!sv)
continue;
if (sv == (SV*)PL_comppad_name)
- PL_comppad_name = Nullav;
+ PL_comppad_name = NULL;
else if (sv == (SV*)PL_comppad) {
PL_comppad = Null(PAD*);
PL_curpad = Null(SV**);
/* XXX DAPM integrate alloc(), add_name() and add_anon(),
* or at least rationalise ??? */
-
+/* And flag whether the incoming name is UTF8 or 8 bit?
+ Could do this either with the +ve/-ve hack of the HV code, or expanding
+ the flag bits. Either way, this makes proper Unicode safe pad support.
+ Also could change the sv structure to make the NV a union with 2 U32s,
+ so that SvCUR() could stop being overloaded in pad SVs.
+ NWC
+*/
PADOFFSET
Perl_pad_alloc(pTHX_ I32 optype, U32 tmptype)
new_offset = pad_add_name(
SvPVX_const(*out_name_sv),
(SvFLAGS(*out_name_sv) & SVpad_TYPED)
- ? SvSTASH(*out_name_sv) : Nullhv,
+ ? SvSTASH(*out_name_sv) : NULL,
(SvFLAGS(*out_name_sv) & SVpad_OUR)
- ? GvSTASH(*out_name_sv) : Nullhv,
+ ? GvSTASH(*out_name_sv) : NULL,
1 /* fake */
);
return new_offset;
}
-
+
+#ifdef DEBUGGING
/*
=for apidoc pad_sv
=cut
*/
-#ifdef DEBUGGING
void
Perl_pad_setsv(pTHX_ PADOFFSET po, SV* sv)
{
if ( SvFLAGS(*av) & SVpad_TYPED ) {
return SvSTASH(*av);
}
- return Nullhv;
+ return NULL;
}
/*