diff options
-rw-r--r-- | pp_pack.c | 6 | ||||
-rw-r--r-- | t/op/length.t | 2 |
2 files changed, 4 insertions, 4 deletions
@@ -449,7 +449,7 @@ PP(pp_unpack) if (checksum) { while (len-- > 0 && s < strend) { STRLEN alen; - auint = UNI_TO_NATIVE(utf8n_to_uvchr((U8*)s, strend - s, &alen, 0)); + auint = NATIVE_TO_UNI(utf8n_to_uvchr((U8*)s, strend - s, &alen, 0)); along = alen; s += along; if (checksum > bits_in_uv) @@ -463,7 +463,7 @@ PP(pp_unpack) EXTEND_MORTAL(len); while (len-- > 0 && s < strend) { STRLEN alen; - auint = UNI_TO_NATIVE(utf8n_to_uvchr((U8*)s, strend - s, &alen, 0)); + auint = NATIVE_TO_UNI(utf8n_to_uvchr((U8*)s, strend - s, &alen, 0)); along = alen; s += along; sv = NEWSV(37, 0); @@ -1558,7 +1558,7 @@ PP(pp_pack) case 'U': while (len-- > 0) { fromstr = NEXTFROM; - auint = NATIVE_TO_UNI(SvUV(fromstr)); + auint = UNI_TO_NATIVE(SvUV(fromstr)); SvGROW(cat, SvCUR(cat) + UTF8_MAXLEN + 1); SvCUR_set(cat, (char*)uvchr_to_utf8((U8*)SvEND(cat),auint) - SvPVX(cat)); diff --git a/t/op/length.t b/t/op/length.t index 763a8c1ecd..d1cfda1da6 100644 --- a/t/op/length.t +++ b/t/op/length.t @@ -43,7 +43,7 @@ print "ok 3\n"; if (ord('A') == 193) { printf "#%vx for 0xFF\n",$a; - print "not " unless $a eq "\x80\x45" && length($a) == 2; + print "not " unless $a eq "\x8b\x73" && length($a) == 2; } else { |