Acme-Pointer
view release on metacpan or search on metacpan
lib/Acme/Pointer.xs view on Meta::CPAN
if (IsCodeRef(len, ref) || IsHashRef(len, ref)) {
RETVAL = get_address(aTHX_ 4, len, ref);
} else if (IsArrayRef(len, ref)) {
RETVAL = get_address(aTHX_ 5, len, ref);
} else if (IsScalarRef(len, ref)) {
RETVAL = get_address(aTHX_ 6, len, ref);
} else {
RETVAL = &PL_sv_undef;
}
}
OUTPUT:
RETVAL
SV *
pointer(addr_str)
SV *addr_str
CODE:
{
STRLEN len;
const char *addr = SvPV(addr_str, len);
if (len > 1 && addr[0] == '0' && addr[1] == 'x') {
RETVAL = _pointer(aTHX_ addr);
} else {
RETVAL = &PL_sv_undef;
}
}
OUTPUT:
RETVAL
lib/Acme/ppport.h view on Meta::CPAN
PTR2ul|5.007001||p
PTRV|5.006000||p
PUSHMARK|||
PUSH_MULTICALL||5.021008|
PUSHi|||
PUSHmortal|5.009002||p
PUSHn|||
PUSHp|||
PUSHs|||
PUSHu|5.004000||p
PUTBACK|||
PadARRAY||5.021008|
PadMAX||5.021008|
PadlistARRAY||5.021008|
PadlistMAX||5.021008|
PadlistNAMESARRAY||5.021008|
PadlistNAMESMAX||5.021008|
PadlistNAMES||5.021008|
PadlistREFCNT||5.017004|
PadnameIsOUR|||
PadnameIsSTATE|||
lib/Acme/ppport.h view on Meta::CPAN
{
dSP;
SV* sv = newSVpv(p, 0);
PUSHMARK(sp);
eval_sv(sv, G_SCALAR);
SvREFCNT_dec(sv);
SPAGAIN;
sv = POPs;
PUTBACK;
if (croak_on_error && SvTRUE(GvSV(errgv)))
croak(SvPVx(GvSV(errgv), na));
return sv;
}
#endif
#endif
( run in 0.400 second using v1.01-cache-2.11-cpan-4e96b696675 )