summaryrefslogtreecommitdiff
path: root/scope.c
diff options
context:
space:
mode:
authorPaul "LeoNerd" Evans <leonerd@leonerd.org.uk>2022-06-30 11:23:16 +0100
committerPaul Evans <leonerd@leonerd.org.uk>2022-07-02 23:00:28 +0100
commit53083cad3a096a3b0c435d3fd0aac9f943d07419 (patch)
tree5c470125d8acda2786383e998c70c455fb611aff /scope.c
parent922562d10af7810210fc8afb3c3666e0b7d9594e (diff)
downloadperl-53083cad3a096a3b0c435d3fd0aac9f943d07419.tar.gz
Use HvHasAUX() rather than SvOOK() when operating on HVs
Diffstat (limited to 'scope.c')
-rw-r--r--scope.c10
1 files changed, 4 insertions, 6 deletions
diff --git a/scope.c b/scope.c
index 257330df66..17e5282993 100644
--- a/scope.c
+++ b/scope.c
@@ -1396,12 +1396,10 @@ Perl_leave_scope(pTHX_ I32 base)
if (SvREADONLY(sv))
SvREADONLY_off(sv);
- if (SvOOK(sv)) { /* OOK or HvAUX */
- if (SvTYPE(sv) == SVt_PVHV)
- Perl_hv_kill_backrefs(aTHX_ MUTABLE_HV(sv));
- else
- sv_backoff(sv);
- }
+ if (SvTYPE(sv) == SVt_PVHV && HvHasAUX(sv))
+ Perl_hv_kill_backrefs(aTHX_ MUTABLE_HV(sv));
+ else if(SvOOK(sv))
+ sv_backoff(sv);
if (SvMAGICAL(sv)) {
/* note that backrefs (either in HvAUX or magic)