squash some code in hv.c:S_hv_delete_common
authorFather Chrysostomos <sprout@cpan.org>
Sun, 1 Jan 2012 02:58:29 +0000 (18:58 -0800)
committerFather Chrysostomos <sprout@cpan.org>
Sun, 1 Jan 2012 03:11:40 +0000 (19:11 -0800)
Changes four commits ago made this possible.

hv.c

diff --git a/hv.c b/hv.c
index af110fc..967ca4a 100644 (file)
--- a/hv.c
+++ b/hv.c
@@ -1049,14 +1049,8 @@ S_hv_delete_common(pTHX_ HV *hv, SV *keysv, const char *key, STRLEN klen,
                    mro_changes = 1;
        }
 
-       if (d_flags & G_DISCARD) {
-           sv = HeVAL(entry);
-           HeVAL(entry) = &PL_sv_placeholder;
-       }
-       else {
-           sv = sv_2mortal(HeVAL(entry));
-           HeVAL(entry) = &PL_sv_placeholder;
-       }
+       sv = d_flags & G_DISCARD ? HeVAL(entry) : sv_2mortal(HeVAL(entry));
+       HeVAL(entry) = &PL_sv_placeholder;
        if (sv) {
            /* deletion of method from stash */
            if (isGV(sv) && isGV_with_GP(sv) && GvCVu(sv)