Re: I'm losing the war...
Vadim Konovalov [Sat, 24 Feb 2001 00:10:14 +0000 (03:10 +0300)]
Message-ID: <007501c09dde$a9b84420$2f7b55c2@vad>

hv_store() not working correctly in ENV_IS_CASELESS case.

p4raw-id: //depot/perl@8919

hv.c

diff --git a/hv.c b/hv.c
index 1e55aed..a4951f8 100644 (file)
--- a/hv.c
+++ b/hv.c
@@ -435,8 +435,8 @@ Perl_hv_store(pTHX_ HV *hv, const char *key, I32 klen, SV *val, register U32 has
                return 0;
 #ifdef ENV_IS_CASELESS
            else if (mg_find((SV*)hv,'E')) {
-               SV *sv = sv_2mortal(newSVpvn(key,klen));
-               key = strupr(SvPVX(sv));
+                key = savepvn(key,klen);
+               key = strupr(key);
                hash = 0;
            }
 #endif