X-Git-Url: https://perl5.git.perl.org/perl5.git/blobdiff_plain/3453414d531db0c778c66f126da0b0269cd8486f..6911735f50121ad015d280f86e257e8e9eae797a:/ext/XS-APItest/APItest.xs diff --git a/ext/XS-APItest/APItest.xs b/ext/XS-APItest/APItest.xs index b351343..96efeb4 100644 --- a/ext/XS-APItest/APItest.xs +++ b/ext/XS-APItest/APItest.xs @@ -1517,6 +1517,16 @@ void ptr_table_clear(table) XS::APItest::PtrTable table +MODULE = XS::APItest::AutoLoader PACKAGE = XS::APItest::AutoLoader + +SV * +AUTOLOAD() + CODE: + RETVAL = newSVpvn_flags(SvPVX(cv), SvCUR(cv), SvUTF8(cv)); + OUTPUT: + RETVAL + + MODULE = XS::APItest PACKAGE = XS::APItest PROTOTYPES: DISABLE @@ -2003,6 +2013,31 @@ gv_autoload_type(stash, methname, type, method) XPUSHs( gv ? (SV*)gv : &PL_sv_undef); void +whichsig_type(namesv, type) + SV* namesv + int type + PREINIT: + STRLEN len; + const char * const name = SvPV_const(namesv, len); + I32 i; + PPCODE: + switch (type) { + case 0: + i = whichsig(name); + break; + case 1: + i = whichsig_sv(namesv); + break; + case 2: + i = whichsig_pv(name); + break; + case 3: + i = whichsig_pvn(name, len); + break; + } + XPUSHs(sv_2mortal(newSViv(i))); + +void eval_sv(sv, flags) SV* sv I32 flags @@ -3153,6 +3188,18 @@ PREINIT: CODE: pv = SvPV_nolen(sv); +SV * +HvENAME(HV *hv) +CODE: + RETVAL = hv && HvENAME(hv) + ? newSVpvn_flags( + HvENAME(hv),HvENAMELEN(hv), + (HvENAMEUTF8(hv) ? SVf_UTF8 : 0) + ) + : NULL; +OUTPUT: + RETVAL + MODULE = XS::APItest PACKAGE = XS::APItest::Magic