gv = cGVOPx_gv(gvop);
{
- HV *stash = GvSTASH(gv);
SV *pp_sv, **svp;
CV *cv = NULL;
const char *name = GvNAME(gv);
HV *map;
CV *placeholder;
tTHX owner;
-CODE:
+PPCODE:
{
dMY_CXT;
owner = MY_CXT.owner;
MY_CXT.placeholder = placeholder;
MY_CXT.owner = aTHX;
}
+ XSRETURN(0);
#endif /* SO_THREADSAFE */
XSRETURN_UNDEF;
ST(0) = sv_2mortal(newSVpvn(&on->buf, on->len));
XSRETURN(1);
+
+void
+_constant_sub(SV *sv)
+PROTOTYPE: $
+PPCODE:
+ if (!SvROK(sv))
+ XSRETURN_UNDEF;
+ sv = SvRV(sv);
+ if (SvTYPE(sv) < SVt_PVCV)
+ XSRETURN_UNDEF;
+ ST(0) = sv_2mortal(newSVuv(CvCONST(sv)));
+ XSRETURN(1);