diff options
author | Nicholas Clark <nick@ccl4.org> | 2007-12-20 17:47:48 +0000 |
---|---|---|
committer | Nicholas Clark <nick@ccl4.org> | 2007-12-20 17:47:48 +0000 |
commit | 56d7a0868d14c11c08f61a0acccc9ee745b4e081 (patch) | |
tree | 6be875fe25d5cdf919248790f1cf6dfdb8b9075e | |
parent | 1318745670424caf6c309d2a8e64000cb32872aa (diff) | |
download | perl-56d7a0868d14c11c08f61a0acccc9ee745b4e081.tar.gz |
Perl_magic_setglob() is a mathom.
p4raw-id: //depot/perl@32672
-rw-r--r-- | embed.fnc | 2 | ||||
-rw-r--r-- | embed.h | 12 | ||||
-rw-r--r-- | mathoms.c | 13 | ||||
-rw-r--r-- | mg.c | 24 | ||||
-rw-r--r-- | proto.h | 2 |
5 files changed, 29 insertions, 24 deletions
@@ -462,7 +462,9 @@ p |int |magic_setenv |NN SV* sv|NN MAGIC* mg p |int |magic_setfm |NN SV* sv|NN MAGIC* mg dp |int |magic_sethint |NN SV* sv|NN MAGIC* mg p |int |magic_setisa |NN SV* sv|NN MAGIC* mg +#ifndef NO_MATHOMS p |int |magic_setglob |NN SV* sv|NN MAGIC* mg +#endif p |int |magic_setmglob |NN SV* sv|NN MAGIC* mg p |int |magic_setnkeys |NN SV* sv|NN MAGIC* mg p |int |magic_setpack |NN SV* sv|NN MAGIC* mg @@ -433,7 +433,13 @@ #define magic_setfm Perl_magic_setfm #define magic_sethint Perl_magic_sethint #define magic_setisa Perl_magic_setisa +#endif +#ifndef NO_MATHOMS +#ifdef PERL_CORE #define magic_setglob Perl_magic_setglob +#endif +#endif +#ifdef PERL_CORE #define magic_setmglob Perl_magic_setmglob #define magic_setnkeys Perl_magic_setnkeys #define magic_setpack Perl_magic_setpack @@ -2722,7 +2728,13 @@ #define magic_setfm(a,b) Perl_magic_setfm(aTHX_ a,b) #define magic_sethint(a,b) Perl_magic_sethint(aTHX_ a,b) #define magic_setisa(a,b) Perl_magic_setisa(aTHX_ a,b) +#endif +#ifndef NO_MATHOMS +#ifdef PERL_CORE #define magic_setglob(a,b) Perl_magic_setglob(aTHX_ a,b) +#endif +#endif +#ifdef PERL_CORE #define magic_setmglob(a,b) Perl_magic_setmglob(aTHX_ a,b) #define magic_setnkeys(a,b) Perl_magic_setnkeys(aTHX_ a,b) #define magic_setpack(a,b) Perl_magic_setpack(aTHX_ a,b) @@ -65,6 +65,7 @@ PERL_CALLCONV void Perl_sv_usepvn_mg(pTHX_ SV *sv, char *ptr, STRLEN len); PERL_CALLCONV void Perl_sv_usepvn(pTHX_ SV *sv, char *ptr, STRLEN len); PERL_CALLCONV int Perl_fprintf_nocontext(PerlIO *stream, const char *format, ...); PERL_CALLCONV int Perl_printf_nocontext(const char *format, ...); +PERL_CALLCONV int Perl_magic_setglob(pTHX_ SV* sv, MAGIC* mg); /* ref() is now a macro using Perl_doref; @@ -1315,6 +1316,18 @@ Perl_hv_delete(pTHX_ HV *hv, const char *key, I32 klen_i32, I32 flags) NULL, 0); } +/* Functions after here were made mathoms post 5.10.0 but pre 5.8.9 */ +int +Perl_magic_setglob(pTHX_ SV *sv, MAGIC *mg) +{ + PERL_UNUSED_ARG(mg); + PERL_UNUSED_ARG(sv); + + Perl_croak(aTHX_ "Perl_magic_setglob is dead code?"); + + return 0; +} + #endif /* NO_MATHOMS */ /* @@ -1928,30 +1928,6 @@ Perl_magic_setpos(pTHX_ SV *sv, MAGIC *mg) } int -Perl_magic_setglob(pTHX_ SV *sv, MAGIC *mg) -{ - GV* gv; - PERL_UNUSED_ARG(mg); - - Perl_croak(aTHX_ "Perl_magic_setglob is dead code?"); - - if (!SvOK(sv)) - return 0; - if (isGV_with_GP(sv)) { - /* We're actually already a typeglob, so don't need the stuff below. - */ - return 0; - } - gv = gv_fetchsv(sv, GV_ADD, SVt_PVGV); - if (sv == (SV*)gv) - return 0; - if (GvGP(sv)) - gp_free((GV*)sv); - GvGP(sv) = gp_ref(GvGP(gv)); - return 0; -} - -int Perl_magic_getsubstr(pTHX_ SV *sv, MAGIC *mg) { STRLEN len; @@ -1218,10 +1218,12 @@ PERL_CALLCONV int Perl_magic_setisa(pTHX_ SV* sv, MAGIC* mg) __attribute__nonnull__(pTHX_1) __attribute__nonnull__(pTHX_2); +#ifndef NO_MATHOMS PERL_CALLCONV int Perl_magic_setglob(pTHX_ SV* sv, MAGIC* mg) __attribute__nonnull__(pTHX_1) __attribute__nonnull__(pTHX_2); +#endif PERL_CALLCONV int Perl_magic_setmglob(pTHX_ SV* sv, MAGIC* mg) __attribute__nonnull__(pTHX_1) __attribute__nonnull__(pTHX_2); |