Apmb |GV* |gv_IOadd |NULLOK GV* gv
AmR |GV* |gv_autoload4 |NULLOK HV* stash|NN const char* name \
|STRLEN len|I32 method
-ApR |GV* |gv_autoload4_sv |NULLOK HV* stash|NN SV* namesv|I32 method|U32 flags
-ApR |GV* |gv_autoload4_pv |NULLOK HV* stash|NN const char* namepv \
+ApR |GV* |gv_autoload_sv |NULLOK HV* stash|NN SV* namesv|I32 method|U32 flags
+ApR |GV* |gv_autoload_pv |NULLOK HV* stash|NN const char* namepv \
|I32 method|U32 flags
-ApR |GV* |gv_autoload4_pvn |NULLOK HV* stash|NN const char* name \
+ApR |GV* |gv_autoload_pvn |NULLOK HV* stash|NN const char* name \
|STRLEN len|I32 method|U32 flags
Ap |void |gv_check |NN const HV* stash
Ap |void |gv_efullname |NN SV* sv|NN const GV* gv
#define grok_numeric_radix(a,b) Perl_grok_numeric_radix(aTHX_ a,b)
#define grok_oct(a,b,c,d) Perl_grok_oct(aTHX_ a,b,c,d)
#define gv_add_by_type(a,b) Perl_gv_add_by_type(aTHX_ a,b)
-#define gv_autoload4_pv(a,b,c,d) Perl_gv_autoload4_pv(aTHX_ a,b,c,d)
-#define gv_autoload4_pvn(a,b,c,d,e) Perl_gv_autoload4_pvn(aTHX_ a,b,c,d,e)
-#define gv_autoload4_sv(a,b,c,d) Perl_gv_autoload4_sv(aTHX_ a,b,c,d)
+#define gv_autoload_pv(a,b,c,d) Perl_gv_autoload_pv(aTHX_ a,b,c,d)
+#define gv_autoload_pvn(a,b,c,d,e) Perl_gv_autoload_pvn(aTHX_ a,b,c,d,e)
+#define gv_autoload_sv(a,b,c,d) Perl_gv_autoload_sv(aTHX_ a,b,c,d)
#define gv_check(a) Perl_gv_check(aTHX_ a)
#define gv_const_sv(a) Perl_gv_const_sv(aTHX_ a)
#define gv_dump(a) Perl_gv_dump(aTHX_ a)
XPUSHs( gv ? (SV*)gv : &PL_sv_undef);
void
-gv_autoload4_type(stash, methname, type, method, flags)
+gv_autoload_type(stash, methname, type, method, flags)
HV* stash
SV* methname
int type
gv = gv_autoload4(stash, name, len, method);
break;
case 1:
- gv = gv_autoload4_sv(stash, methname, method, flags);
+ gv = gv_autoload_sv(stash, methname, method, flags);
break;
case 2:
- gv = gv_autoload4_pv(stash, name, method, flags | SvUTF8(methname));
+ gv = gv_autoload_pv(stash, name, method, flags | SvUTF8(methname));
break;
case 3:
- gv = gv_autoload4_pvn(stash, name, len, method, flags | SvUTF8(methname));
+ gv = gv_autoload_pvn(stash, name, len, method, flags | SvUTF8(methname));
break;
}
XPUSHs( gv ? (SV*)gv : &PL_sv_undef);
use_ok('XS::APItest');
my $method = 0;
-my @types = map { 'gv_autoload4' . $_ } '', qw( _sv _pv _pvn );
+my @types = map { 'gv_autoload' . $_ } qw( 4 _sv _pv _pvn );
sub AUTOLOAD {
our $AUTOLOAD;
my $sub = "nothing";
-ok my $glob = XS::APItest::gv_autoload4_type(\%::, $sub, 1, $method, 0);
+ok my $glob = XS::APItest::gv_autoload_type(\%::, $sub, 1, $method, 0);
*{$glob}{CODE}->( __PACKAGE__ . "::" . $sub, '$AUTOLOAD set correctly' );
$sub = "some_sub";
for my $type ( 0..3 ) {
- is $glob = XS::APItest::gv_autoload4_type(\%::, $sub, $type, $method, 0), "*main::AUTOLOAD", "*main::AUTOLOAD if autoload is true in $types[$type].";
+ is $glob = XS::APItest::gv_autoload_type(\%::, $sub, $type, $method, 0), "*main::AUTOLOAD", "*main::AUTOLOAD if autoload is true in $types[$type].";
*{$glob}{CODE}->( __PACKAGE__ . "::" . $sub, '$AUTOLOAD set correctly' );
}
$sub = "method\0not quite!";
-ok $glob = XS::APItest::gv_autoload4_type(\%::, $sub, 0, $method, 0);
+ok $glob = XS::APItest::gv_autoload_type(\%::, $sub, 0, $method, 0);
*{$glob}{CODE}->( __PACKAGE__ . "::" . $sub, "gv_autoload4() is nul-clean");
-ok $glob = XS::APItest::gv_autoload4_type(\%::, $sub, 1, $method, 0);
-*{$glob}{CODE}->( __PACKAGE__ . "::" . $sub, "gv_autoload4_sv() is nul-clean");
+ok $glob = XS::APItest::gv_autoload_type(\%::, $sub, 1, $method, 0);
+*{$glob}{CODE}->( __PACKAGE__ . "::" . $sub, "gv_autoload_sv() is nul-clean");
-ok $glob = XS::APItest::gv_autoload4_type(\%::, $sub, 2, $method, 0);
-*{$glob}{CODE}->( __PACKAGE__ . "::" . ($sub =~ s/\0.*//r), "gv_autoload4_pv() is not nul-clean");
+ok $glob = XS::APItest::gv_autoload_type(\%::, $sub, 2, $method, 0);
+*{$glob}{CODE}->( __PACKAGE__ . "::" . ($sub =~ s/\0.*//r), "gv_autoload_pv() is not nul-clean");
-ok $glob = XS::APItest::gv_autoload4_type(\%::, $sub, 3, $method, 0);
-*{$glob}{CODE}->( __PACKAGE__ . "::" . $sub, "gv_autoload4_pvn() is nul-clean");
+ok $glob = XS::APItest::gv_autoload_type(\%::, $sub, 3, $method, 0);
+*{$glob}{CODE}->( __PACKAGE__ . "::" . $sub, "gv_autoload_pvn() is nul-clean");
=begin
{
}
for my $type ( 1..3 ) {
- ::ok $glob = XS::APItest::gv_autoload4_type(\%main::, $sub = "method", $type, $method, 0);
+ ::ok $glob = XS::APItest::gv_autoload_type(\%main::, $sub = "method", $type, $method, 0);
*{$glob}{CODE}->( "main::" . $sub, "$types[$type]() is UTF8-clean when both the stash and the sub are in UTF-8");
- ::ok $glob = XS::APItest::gv_autoload4_type(\%main::, $sub = "method", $type, $method, 0);
+ ::ok $glob = XS::APItest::gv_autoload_type(\%main::, $sub = "method", $type, $method, 0);
*{$glob}{CODE}->( "main::" . $sub, "$types[$type]() is UTF8-clean when only the stash is in UTF-8");
}
}
}
GV*
-Perl_gv_autoload4_sv(pTHX_ HV *stash, SV* namesv, I32 method, U32 flags)
+Perl_gv_autoload_sv(pTHX_ HV *stash, SV* namesv, I32 method, U32 flags)
{
char *namepv;
STRLEN namelen;
- PERL_ARGS_ASSERT_GV_AUTOLOAD4_SV;
+ PERL_ARGS_ASSERT_GV_AUTOLOAD_SV;
namepv = SvPV(namesv, namelen);
if (SvUTF8(namesv))
flags |= SVf_UTF8;
- return gv_autoload4_pvn(stash, namepv, namelen, method, flags);
+ return gv_autoload_pvn(stash, namepv, namelen, method, flags);
}
GV*
-Perl_gv_autoload4_pv(pTHX_ HV *stash, const char *namepv, I32 method, U32 flags)
+Perl_gv_autoload_pv(pTHX_ HV *stash, const char *namepv, I32 method, U32 flags)
{
- PERL_ARGS_ASSERT_GV_AUTOLOAD4_PV;
- return gv_autoload4_pvn(stash, namepv, strlen(namepv), method, flags);
+ PERL_ARGS_ASSERT_GV_AUTOLOAD_PV;
+ return gv_autoload_pvn(stash, namepv, strlen(namepv), method, flags);
}
GV*
-Perl_gv_autoload4_pvn(pTHX_ HV *stash, const char *name, STRLEN len, I32 method, U32 flags)
+Perl_gv_autoload_pvn(pTHX_ HV *stash, const char *name, STRLEN len, I32 method, U32 flags)
{
dVAR;
GV* gv;
const char *packname = "";
STRLEN packname_len = 0;
- PERL_ARGS_ASSERT_GV_AUTOLOAD4_PVN;
+ PERL_ARGS_ASSERT_GV_AUTOLOAD_PVN;
if (len == S_autolen && memEQ(name, S_autoload, S_autolen))
return NULL;
#define gv_fetchmeth(stash,name,len,level) gv_fetchmeth_pvn(stash, name, len, level, 0)
#define gv_fetchmeth_autoload(stash,name,len,level) gv_fetchmeth_pvn_autoload(stash, name, len, level, 0)
#define gv_fetchmethod_flags(stash,name,flags) gv_fetchmethod_pv_flags(stash, name, flags)
-#define gv_autoload4(stash, name, len, method) gv_autoload4_pvn(stash, name, len, method, 0)
+#define gv_autoload4(stash, name, len, method) gv_autoload_pvn(stash, name, len, method, 0)
#define gv_AVadd(gv) gv_add_by_type((gv), SVt_PVAV)
#define gv_HVadd(gv) gv_add_by_type((gv), SVt_PVHV)
__attribute__warn_unused_result__
__attribute__nonnull__(pTHX_2); */
-PERL_CALLCONV GV* Perl_gv_autoload4_pv(pTHX_ HV* stash, const char* namepv, I32 method, U32 flags)
+PERL_CALLCONV GV* Perl_gv_autoload_pv(pTHX_ HV* stash, const char* namepv, I32 method, U32 flags)
__attribute__warn_unused_result__
__attribute__nonnull__(pTHX_2);
-#define PERL_ARGS_ASSERT_GV_AUTOLOAD4_PV \
+#define PERL_ARGS_ASSERT_GV_AUTOLOAD_PV \
assert(namepv)
-PERL_CALLCONV GV* Perl_gv_autoload4_pvn(pTHX_ HV* stash, const char* name, STRLEN len, I32 method, U32 flags)
+PERL_CALLCONV GV* Perl_gv_autoload_pvn(pTHX_ HV* stash, const char* name, STRLEN len, I32 method, U32 flags)
__attribute__warn_unused_result__
__attribute__nonnull__(pTHX_2);
-#define PERL_ARGS_ASSERT_GV_AUTOLOAD4_PVN \
+#define PERL_ARGS_ASSERT_GV_AUTOLOAD_PVN \
assert(name)
-PERL_CALLCONV GV* Perl_gv_autoload4_sv(pTHX_ HV* stash, SV* namesv, I32 method, U32 flags)
+PERL_CALLCONV GV* Perl_gv_autoload_sv(pTHX_ HV* stash, SV* namesv, I32 method, U32 flags)
__attribute__warn_unused_result__
__attribute__nonnull__(pTHX_2);
-#define PERL_ARGS_ASSERT_GV_AUTOLOAD4_SV \
+#define PERL_ARGS_ASSERT_GV_AUTOLOAD_SV \
assert(namesv)
PERL_CALLCONV void Perl_gv_check(pTHX_ const HV* stash)