diff options
-rw-r--r-- | ObjXSub.h | 2 | ||||
-rw-r--r-- | embed.h | 1 | ||||
-rw-r--r-- | global.sym | 1 | ||||
-rw-r--r-- | mg.c | 7 | ||||
-rw-r--r-- | objpp.h | 2 | ||||
-rw-r--r-- | perl.h | 2 | ||||
-rw-r--r-- | proto.h | 1 | ||||
-rw-r--r-- | sv.c | 4 | ||||
-rwxr-xr-x | t/op/substr.t | 2 | ||||
-rwxr-xr-x | t/op/vec.t | 2 |
10 files changed, 4 insertions, 20 deletions
@@ -1103,8 +1103,6 @@ #define magic_clearsig pPerl->Perl_magic_clearsig #undef magic_existspack #define magic_existspack pPerl->Perl_magic_existspack -#undef magic_freedefelem -#define magic_freedefelem pPerl->Perl_magic_freedefelem #undef magic_freeregexp #define magic_freeregexp pPerl->Perl_magic_freeregexp #undef magic_get @@ -278,7 +278,6 @@ #define magic_clearpack Perl_magic_clearpack #define magic_clearsig Perl_magic_clearsig #define magic_existspack Perl_magic_existspack -#define magic_freedefelem Perl_magic_freedefelem #define magic_freeregexp Perl_magic_freeregexp #define magic_get Perl_magic_get #define magic_getarylen Perl_magic_getarylen diff --git a/global.sym b/global.sym index 11f09f827e..9a9ada6e7a 100644 --- a/global.sym +++ b/global.sym @@ -377,7 +377,6 @@ magic_clearenv magic_clearpack magic_clearsig magic_existspack -magic_freedefelem magic_freeregexp magic_get magic_getarylen @@ -1386,13 +1386,6 @@ magic_setdefelem(SV *sv, MAGIC *mg) return 0; } -int -magic_freedefelem(SV *sv, MAGIC *mg) -{ - SvREFCNT_dec(LvTARG(sv)); - return 0; -} - void vivify_defelem(SV *sv) { @@ -555,8 +555,6 @@ #define magic_clearsig CPerlObj::Perl_magic_clearsig #undef magic_existspack #define magic_existspack CPerlObj::Perl_magic_existspack -#undef magic_freedefelem -#define magic_freedefelem CPerlObj::Perl_magic_freedefelem #undef magic_freeregexp #define magic_freeregexp CPerlObj::Perl_magic_freeregexp #undef magic_get @@ -2078,7 +2078,7 @@ EXT MGVTBL vtbl_uvar = {magic_getuvar, EXT MGVTBL vtbl_mutex = {0, 0, 0, 0, magic_mutexfree}; #endif /* USE_THREADS */ EXT MGVTBL vtbl_defelem = {magic_getdefelem,magic_setdefelem, - 0, 0, magic_freedefelem}; + 0, 0, 0}; EXT MGVTBL vtbl_regexp = {0,0,0,0, magic_freeregexp}; @@ -209,7 +209,6 @@ VIRTUAL int magic_clear_all_env _((SV* sv, MAGIC* mg)); VIRTUAL int magic_clearpack _((SV* sv, MAGIC* mg)); VIRTUAL int magic_clearsig _((SV* sv, MAGIC* mg)); VIRTUAL int magic_existspack _((SV* sv, MAGIC* mg)); -VIRTUAL int magic_freedefelem _((SV* sv, MAGIC* mg)); VIRTUAL int magic_freeregexp _((SV* sv, MAGIC* mg)); VIRTUAL int magic_get _((SV* sv, MAGIC* mg)); VIRTUAL int magic_getarylen _((SV* sv, MAGIC* mg)); @@ -2905,6 +2905,9 @@ sv_clear(register SV *sv) case SVt_PVAV: av_undef((AV*)sv); break; + case SVt_PVLV: + SvREFCNT_dec(LvTARG(sv)); + goto freescalar; case SVt_PVGV: gp_free((GV*)sv); Safefree(GvNAME(sv)); @@ -2914,7 +2917,6 @@ sv_clear(register SV *sv) -- JohnPC, 27 Mar 1998 */ stash = GvSTASH(sv); /* FALL THROUGH */ - case SVt_PVLV: case SVt_PVMG: case SVt_PVNV: case SVt_PVIV: diff --git a/t/op/substr.t b/t/op/substr.t index fe53f01552..87efcb4512 100755 --- a/t/op/substr.t +++ b/t/op/substr.t @@ -2,8 +2,6 @@ print "1..106\n"; -$ENV{PERL_DESTRUCT_LEVEL} = 0; # XXX known to leaks scalars - #P = start of string Q = start of substr R = end of substr S = end of string $a = 'abcdefxyz'; diff --git a/t/op/vec.t b/t/op/vec.t index 5ae224703a..71171447d6 100755 --- a/t/op/vec.t +++ b/t/op/vec.t @@ -4,8 +4,6 @@ print "1..15\n"; -$ENV{PERL_DESTRUCT_LEVEL} = 0; # XXX known to leaks scalars - print vec($foo,0,1) == 0 ? "ok 1\n" : "not ok 1\n"; print length($foo) == 0 ? "ok 2\n" : "not ok 2\n"; vec($foo,0,1) = 1; |