diff options
author | H.Merijn Brand <h.m.brand@xs4all.nl> | 2001-12-21 12:15:38 +0100 |
---|---|---|
committer | Jarkko Hietaniemi <jhi@iki.fi> | 2001-12-21 13:39:06 +0000 |
commit | 03fed38d20c6ad958c9c8a42fd30941b5768a7c8 (patch) | |
tree | d08713a0b42768ada6802493d6a96916fafefe3f /hv.c | |
parent | adc80e31e400ded998ccce2a4c1c6a812800301b (diff) | |
download | perl-03fed38d20c6ad958c9c8a42fd30941b5768a7c8.tar.gz |
[ PATCH ] Smoke 13820 /pro/3gl/CPAN/perl-current
Message-Id: <20011221104035.4B4F.H.M.BRAND@hccnet.nl>
p4raw-id: //depot/perl@13829
Diffstat (limited to 'hv.c')
-rw-r--r-- | hv.c | 25 |
1 files changed, 12 insertions, 13 deletions
@@ -893,19 +893,18 @@ Perl_hv_delete_ent(pTHX_ HV *hv, SV *keysv, I32 flags, U32 hash) { if (SvREADONLY(hv)) return Nullsv; /* if still SvREADONLY, leave it deleted. */ - else { - // okay, really delete the placeholder. - *oentry = HeNEXT(entry); - if (i && !*oentry) - xhv->xhv_fill--; /* HvFILL(hv)-- */ - if (entry == xhv->xhv_eiter /* HvEITER(hv) */) - HvLAZYDEL_on(hv); - else - hv_free_ent(hv, entry); - xhv->xhv_keys--; /* HvKEYS(hv)-- */ - xhv->xhv_placeholders--; - return Nullsv; - } + + /* okay, really delete the placeholder. */ + *oentry = HeNEXT(entry); + if (i && !*oentry) + xhv->xhv_fill--; /* HvFILL(hv)-- */ + if (entry == xhv->xhv_eiter /* HvEITER(hv) */) + HvLAZYDEL_on(hv); + else + hv_free_ent(hv, entry); + xhv->xhv_keys--; /* HvKEYS(hv)-- */ + xhv->xhv_placeholders--; + return Nullsv; } else if (SvREADONLY(hv) && HeVAL(entry) && SvREADONLY(HeVAL(entry))) { Perl_hv_notallowed(aTHX_ is_utf8, key, klen, keysave); |