summaryrefslogtreecommitdiff
path: root/dist
diff options
context:
space:
mode:
authorYves Orton <demerphq@gmail.com>2023-03-22 20:15:54 +0100
committerYves Orton <demerphq@gmail.com>2023-03-29 20:54:49 +0800
commit5de3c4299aeef2737ce02b6b2e401a997da32cff (patch)
tree1f4bfb12df135cd4ffa8eda16420e931fc524aa1 /dist
parent31d9da6590e36d49f32e1f9e4ec0681ee019de47 (diff)
downloadperl-5de3c4299aeef2737ce02b6b2e401a997da32cff.tar.gz
Devel-PPPort - deal with signed klen in check_HeUTF8
Some of the HV logic uses a negative key length to indicate utf8 keys, and this logic was using an unsigned keylength, which obviously does not work
Diffstat (limited to 'dist')
-rw-r--r--dist/Devel-PPPort/PPPort_pm.PL2
-rw-r--r--dist/Devel-PPPort/parts/inc/misc4
2 files changed, 3 insertions, 3 deletions
diff --git a/dist/Devel-PPPort/PPPort_pm.PL b/dist/Devel-PPPort/PPPort_pm.PL
index f1c1315970..33a54ab994 100644
--- a/dist/Devel-PPPort/PPPort_pm.PL
+++ b/dist/Devel-PPPort/PPPort_pm.PL
@@ -756,7 +756,7 @@ package Devel::PPPort;
use strict;
use vars qw($VERSION $data);
-$VERSION = '3.70';
+$VERSION = '3.71';
sub _init_data
{
diff --git a/dist/Devel-PPPort/parts/inc/misc b/dist/Devel-PPPort/parts/inc/misc
index eb1e2b9eb8..86d7fdeed0 100644
--- a/dist/Devel-PPPort/parts/inc/misc
+++ b/dist/Devel-PPPort/parts/inc/misc
@@ -1434,8 +1434,8 @@ check_HeUTF8(utf8_key)
hash = newHV();
key = SvPV(utf8_key, klen);
- if (SvUTF8(utf8_key)) klen *= -1;
- hv_store(hash, key, klen, newSVpvs("string"), 0);
+ hv_store(hash, key, SvUTF8(utf8_key) ? -klen : klen,
+ newSVpvs("string"), 0);
hv_iterinit(hash);
ent = hv_iternext(hash);
assert(ent);