For an LVALUE fetch, "hv_fetch()" will recurse into "hv_store()" for a
authorNicholas Clark <nick@ccl4.org>
Wed, 19 Sep 2007 08:12:09 +0000 (08:12 +0000)
committerNicholas Clark <nick@ccl4.org>
Wed, 19 Sep 2007 08:12:09 +0000 (08:12 +0000)
commitb54b4831042e3002a143d3fcff13b3bad5088c70
tree27aa8960a156889eaaaf419ba915c98f63217bf0
parent821f5ffa2f9d60b548dcc3fae13ebf47b1875d04
For an LVALUE fetch, "hv_fetch()" will recurse into "hv_store()" for a
hash with magic. Field hashes have u magic, so this recursion triggers.
However, key conversion replaces the original key with the converted
key, so we need to ensure that conversion happens exactly once, else
for a non-idempotent key conversion routine (eg ROT13) we will see
double conversion in this case.

p4raw-id: //depot/perl@31898
cop.h
ext/Hash/Util/FieldHash/t/05_perlhook.t
ext/XS/APItest/APItest.xs
ext/XS/APItest/t/hash.t
hv.c
hv.h