summaryrefslogtreecommitdiff
path: root/hv.c
diff options
context:
space:
mode:
authorAdrian M. Enache <enache@rdslink.ro>2003-12-10 08:05:58 +0200
committerNicholas Clark <nick@ccl4.org>2003-12-14 16:34:01 +0000
commite593d2fe2376152f45b2d89d0e59a1b9b2af5bb5 (patch)
tree78bbad6d0e88570395fdea2379fcd73e05824427 /hv.c
parent8167a60add3f75b2a48bb3ae0fdd7f9d853bcbdd (diff)
downloadperl-e593d2fe2376152f45b2d89d0e59a1b9b2af5bb5.tar.gz
Re: Change 21862
Message-ID: <20031210040558.GC1584@ratsnest.hole> (1st hunk), plus the equivalent for hv_delete_common p4raw-id: //depot/perl@21905
Diffstat (limited to 'hv.c')
-rw-r--r--hv.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/hv.c b/hv.c
index 7115332c92..601f52fc51 100644
--- a/hv.c
+++ b/hv.c
@@ -381,6 +381,8 @@ S_hv_fetch_common(pTHX_ HV *hv, SV *keysv, const char *key, STRLEN klen,
return 0;
if (keysv) {
+ if (flags & HVhek_FREEKEY)
+ Safefree(key);
key = SvPV(keysv, klen);
flags = 0;
is_utf8 = (SvUTF8(keysv) != 0);
@@ -873,6 +875,8 @@ S_hv_delete_common(pTHX_ HV *hv, SV *keysv, const char *key, STRLEN klen,
return Nullsv;
if (keysv) {
+ if (k_flags & HVhek_FREEKEY)
+ Safefree(key);
key = SvPV(keysv, klen);
k_flags = 0;
is_utf8 = (SvUTF8(keysv) != 0);