X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=hv.c;h=c8279d87bef279bdb490240e4305d062e9a9b7fa;hb=bb8b33994a53bb53afb58737d43f046bfaebb2a9;hp=a8a5fd15a0f9285612445bfa3725552020b08f85;hpb=04fe65b0c880322a5ab5677fef6303b6149b8676;p=p5sagit%2Fp5-mst-13.2.git diff --git a/hv.c b/hv.c index a8a5fd1..c8279d8 100644 --- a/hv.c +++ b/hv.c @@ -445,7 +445,7 @@ Perl_hv_common(pTHX_ HV *hv, SV *keysv, const char *key, STRLEN klen, | return_svp, NULL /* no value */, 0 /* compute hash */); - if (!entry && (action & HV_FETCH_LVALUE)) { + if (!result && (action & HV_FETCH_LVALUE)) { /* This call will free key if necessary. Do it this way to encourage compiler to tail call optimise. */ @@ -1450,7 +1450,7 @@ Perl_hv_free_ent(pTHX_ HV *hv, register HE *entry) if (!entry) return; val = HeVAL(entry); - if (val && isGV(val) && GvCVu(val) && HvNAME_get(hv)) + if (val && isGV(val) && isGV_with_GP(val) && GvCVu(val) && HvNAME_get(hv)) mro_method_changed_in(hv); /* deletion of method from stash */ SvREFCNT_dec(val); if (HeKLEN(entry) == HEf_SVKEY) {