PUSHMARK(SP);
XPUSHs(rx->pprivate);
- XPUSHs(sv_2mortal(newSViv(paren)));
+ mXPUSHi(paren);
PUTBACK;
items = call_sv(callback, G_SCALAR);
PUSHMARK(SP);
XPUSHs(rx->pprivate);
- XPUSHs(sv_2mortal(newSViv(paren)));
+ mXPUSHi(paren);
XPUSHs((SV *) value);
PUTBACK;
PUSHMARK(SP);
XPUSHs(rx->pprivate);
- XPUSHs(sv_2mortal(newSViv(paren)));
+ mXPUSHi(paren);
PUTBACK;
call_sv(callback, G_SCALAR);
if (items > 1) {
self->rx->minlen = (I32)SvIV(ST(1));
XSRETURN_EMPTY;
- } else {
- if (self->rx->minlen) {
- XPUSHs(sv_2mortal(newSViv(self->rx->minlen)));
- } else {
- XPUSHs(sv_2mortal(&PL_sv_undef));
- }
+ } else if (self->rx->minlen) {
+ mXPUSHi(self->rx->minlen);
XSRETURN(1);
+ } else {
+ XSRETURN_UNDEF;
}
void
if (items > 1) {
self->rx->gofs = (U32)SvIV(ST(1));
XSRETURN_EMPTY;
- } else {
- if (self->rx->gofs) {
- XPUSHs(sv_2mortal(newSVuv(self->rx->gofs)));
- } else {
- XPUSHs(sv_2mortal(&PL_sv_undef));
- }
+ } else if (self->rx->gofs) {
+ mXPUSHu(self->rx->gofs);
XSRETURN(1);
+ } else {
+ XSRETURN_UNDEF;
}
void
if (items > 1) {
self->rx->nparens = (U32)SvIV(ST(1));
XSRETURN_EMPTY;
- } else {
- if (self->rx->nparens) {
- XPUSHs(sv_2mortal(newSVuv(self->rx->nparens)));
- } else {
- XPUSHs(sv_2mortal(&PL_sv_undef));
- }
+ } else if (self->rx->nparens) {
+ mXPUSHu(self->rx->nparens);
XSRETURN(1);
+ } else {
+ XSRETURN_UNDEF;
}
void
void
ENGINE()
PPCODE:
- XPUSHs(sv_2mortal(newSViv(PTR2IV(&engine_plugin))));
+ mXPUSHi(PTR2IV(&engine_plugin));
XSRETURN(1);