summaryrefslogtreecommitdiff
path: root/hv.c
diff options
context:
space:
mode:
authorNicholas Clark <nick@ccl4.org>2006-05-02 22:19:56 +0000
committerNicholas Clark <nick@ccl4.org>2006-05-02 22:19:56 +0000
commit45e3480058a48be9675e10a3f8cf34c1b211df0e (patch)
treec1e5b896209572ee5bfcd29b4edf3d9fc3ba2cb4 /hv.c
parent2b0ba25f0d6d021046bdee174d0cd9d6e42ab48a (diff)
downloadperl-45e3480058a48be9675e10a3f8cf34c1b211df0e.tar.gz
Add a new hash key flag HVhek_UNSHARED, to mark all unshared hash keys.
Otherwise Perl_newSVhek(), called by Perl_hv_iterkeysv(), naively assumes that it can share any hash key directly. p4raw-id: //depot/perl@28069
Diffstat (limited to 'hv.c')
-rw-r--r--hv.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/hv.c b/hv.c
index a5336c6055..39fadfc59f 100644
--- a/hv.c
+++ b/hv.c
@@ -104,7 +104,7 @@ S_save_hek_flags(const char *str, I32 len, U32 hash, int flags)
HEK_KEY(hek)[len] = 0;
HEK_LEN(hek) = len;
HEK_HASH(hek) = hash;
- HEK_FLAGS(hek) = (unsigned char)flags_masked;
+ HEK_FLAGS(hek) = (unsigned char)flags_masked | HVhek_UNSHARED;
if (flags & HVhek_FREEKEY)
Safefree(str);