Perl_croak(aTHX_ "Usage: %s(%s)", gvname, params);
} else {
/* Pants. I don't think that it should be possible to get here. */
- Perl_croak(aTHX_ "Usage: CODE(%"UVXf")(%s)", (UV)cv, params);
+ Perl_croak(aTHX_ "Usage: CODE(0x%"UVxf")(%s)", PTR2UV(cv), params);
}
}
{
dVAR;
dXSARGS;
+ PERL_UNUSED_ARG(cv);
if (SvROK(ST(0))) {
const HV * const hv = (HV *) SvRV(ST(0));
if (items == 1 && SvTYPE(hv) == SVt_PVHV) {
SPAGAIN;
if (ret) {
- XPUSHs(ret);
+ mXPUSHs(ret);
PUTBACK;
return;
} else {
ret = CALLREG_NAMED_BUFF_FETCH(rx, ST(0), (flags | RXapif_REGNAME));
if (ret) {
- if (SvROK(ret))
- XPUSHs(ret);
- else
- XPUSHs(SvREFCNT_inc(ret));
+ mXPUSHs(ret);
XSRETURN(1);
}
XSRETURN_UNDEF;
if (!entry)
Perl_croak(aTHX_ "NULL array element in re::regnames()");
- XPUSHs(*entry);
+ mXPUSHs(SvREFCNT_inc_simple_NN(*entry));
}
+
+ SvREFCNT_dec(ret);
+
PUTBACK;
return;
}
SPAGAIN;
if (ret) {
- if (SvROK(ret))
- XPUSHs(ret);
- else
- XPUSHs(SvREFCNT_inc(ret));
+ mXPUSHs(ret);
PUTBACK;
return;
}
SPAGAIN;
if (ret) {
- XPUSHs(SvREFCNT_inc(ret));
+ mXPUSHs(ret);
PUTBACK;
} else {
XSRETURN_UNDEF;
SPAGAIN;
if (ret) {
- XPUSHs(ret);
+ mXPUSHs(ret);
} else {
XSRETURN_UNDEF;
}
SPAGAIN;
if (ret) {
- XPUSHs(ret);
+ mXPUSHs(ret);
PUTBACK;
return;
} else {