XPUSHs(sv_2mortal(newSVpv(name, 0)));
PUTBACK;
- methodname = sv_2mortal(newSVpv("isa", 0));
+ methodname = sv_2mortal(newSVpvs("isa"));
/* ugly hack: use the SvSCREAM flag so S_method_common
* can figure out we're calling DOES() and not isa(),
* and report eventual errors correctly. --rgs */
return does_it;
}
-regexp *
-Perl_get_re_arg( pTHX_ SV *sv, U32 flags, MAGIC **mgp) {
- MAGIC *mg;
- if (sv) {
- if (SvMAGICAL(sv))
- mg_get(sv);
- if (SvROK(sv) &&
- (sv = (SV*)SvRV(sv)) && /* assign deliberate */
- SvTYPE(sv) == SVt_PVMG &&
- (mg = mg_find(sv, PERL_MAGIC_qr))) /* assign deliberate */
- {
- if (mgp) *mgp = mg;
- return (regexp *)mg->mg_obj;
- }
- }
- if (mgp) *mgp = NULL;
- return ((flags && PL_curpm) ? PM_GETRE(PL_curpm) : NULL);
-}
-
-
PERL_XS_EXPORT_C void XS_UNIVERSAL_isa(pTHX_ CV *cv);
PERL_XS_EXPORT_C void XS_UNIVERSAL_can(pTHX_ CV *cv);
PERL_XS_EXPORT_C void XS_UNIVERSAL_DOES(pTHX_ CV *cv);
XS(XS_Tie_Hash_NamedCapture_DELETE);
XS(XS_Tie_Hash_NamedCapture_CLEAR);
XS(XS_Tie_Hash_NamedCapture_EXISTS);
-XS(XS_Tie_Hash_NamedCapture_FIRSTKEY);
-XS(XS_Tie_Hash_NamedCapture_NEXTKEY);
+XS(XS_Tie_Hash_NamedCapture_FIRSTK);
+XS(XS_Tie_Hash_NamedCapture_NEXTK);
XS(XS_Tie_Hash_NamedCapture_SCALAR);
XS(XS_Tie_Hash_NamedCapture_flags);
newXS("Tie::Hash::NamedCapture::DELETE", XS_Tie_Hash_NamedCapture_DELETE, file);
newXS("Tie::Hash::NamedCapture::CLEAR", XS_Tie_Hash_NamedCapture_CLEAR, file);
newXS("Tie::Hash::NamedCapture::EXISTS", XS_Tie_Hash_NamedCapture_EXISTS, file);
- newXS("Tie::Hash::NamedCapture::FIRSTKEY", XS_Tie_Hash_NamedCapture_FIRSTKEY, file);
- newXS("Tie::Hash::NamedCapture::NEXTKEY", XS_Tie_Hash_NamedCapture_NEXTKEY, file);
+ newXS("Tie::Hash::NamedCapture::FIRSTKEY", XS_Tie_Hash_NamedCapture_FIRSTK, file);
+ newXS("Tie::Hash::NamedCapture::NEXTKEY", XS_Tie_Hash_NamedCapture_NEXTK, file);
newXS("Tie::Hash::NamedCapture::SCALAR", XS_Tie_Hash_NamedCapture_SCALAR, file);
newXS("Tie::Hash::NamedCapture::flags", XS_Tie_Hash_NamedCapture_flags, file);
}
{
dVAR;
dXSARGS;
+ PERL_UNUSED_VAR(cv);
+
if (items != 1)
Perl_croak(aTHX_ "Usage: %s(%s)", "re::is_regexp", "sv");
- PERL_UNUSED_VAR(cv); /* -W */
- PERL_UNUSED_VAR(ax); /* -Wall */
+
SP -= items;
- {
- SV * sv = ST(0);
- if ( Perl_get_re_arg( aTHX_ sv, 0, NULL ) )
- {
- XSRETURN_YES;
- } else {
- XSRETURN_NO;
- }
- /* NOTREACHED */
- PUTBACK;
- return;
+
+ if (SvRXOK(ST(0))) {
+ XSRETURN_YES;
+ } else {
+ XSRETURN_NO;
}
}
XSRETURN_UNDEF;
if (items == 2 && SvTRUE(ST(1))) {
- flags = RXf_HASH_ALL;
+ flags = RXapif_ALL;
} else {
- flags = RXf_HASH_ONE;
+ flags = RXapif_ONE;
}
- ret = CALLREG_NAMED_BUFF_FETCH(rx, ST(0), (flags | RXf_HASH_REGNAME));
+ ret = CALLREG_NAMED_BUFF_FETCH(rx, ST(0), (flags | RXapif_REGNAME));
if (ret) {
if (SvROK(ret))
XSRETURN_UNDEF;
if (items == 1 && SvTRUE(ST(0))) {
- flags = RXf_HASH_ALL;
+ flags = RXapif_ALL;
} else {
- flags = RXf_HASH_ONE;
+ flags = RXapif_ONE;
}
SP -= items;
- ret = CALLREG_NAMED_BUFF_ALL(rx, (flags | RXf_HASH_REGNAMES));
+ ret = CALLREG_NAMED_BUFF_ALL(rx, (flags | RXapif_REGNAMES));
SPAGAIN;
return;
}
-XS(XS_Tie_Hash_NamedCapture_FIRSTKEY)
+XS(XS_Tie_Hash_NamedCapture_FIRSTK)
{
dVAR;
dXSARGS;
}
-XS(XS_Tie_Hash_NamedCapture_NEXTKEY)
+XS(XS_Tie_Hash_NamedCapture_NEXTK)
{
dVAR;
dXSARGS;
if (items != 0)
Perl_croak(aTHX_ "Usage: Tie::Hash::NamedCapture::flags()");
- XPUSHs(sv_2mortal(newSVuv(RXf_HASH_ONE)));
- XPUSHs(sv_2mortal(newSVuv(RXf_HASH_ALL)));
+ XPUSHs(sv_2mortal(newSVuv(RXapif_ONE)));
+ XPUSHs(sv_2mortal(newSVuv(RXapif_ALL)));
PUTBACK;
return;
}