if (checksum) {
while (len-- > 0 && s < strend) {
STRLEN alen;
- auint = utf8n_to_uvchr((U8*)s, strend - s, &alen, 0);
+ auint = UNI_TO_NATIVE(utf8n_to_uvchr((U8*)s, strend - s, &alen, 0));
along = alen;
s += along;
if (checksum > bits_in_uv)
EXTEND_MORTAL(len);
while (len-- > 0 && s < strend) {
STRLEN alen;
- auint = utf8n_to_uvchr((U8*)s, strend - s, &alen, 0);
+ auint = UNI_TO_NATIVE(utf8n_to_uvchr((U8*)s, strend - s, &alen, 0));
along = alen;
s += along;
sv = NEWSV(37, 0);
case 'U':
while (len-- > 0) {
fromstr = NEXTFROM;
- auint = SvUV(fromstr);
+ auint = NATIVE_TO_UNI(SvUV(fromstr));
SvGROW(cat, SvCUR(cat) + UTF8_MAXLEN + 1);
SvCUR_set(cat, (char*)uvchr_to_utf8((U8*)SvEND(cat),auint)
- SvPVX(cat));
is($z, $expect);
}
-is("1.20.300.4000", sprintf "%vd", pack("U*",1,20,300,4000));
-is("1.20.300.4000", sprintf "%vd", pack(" U*",1,20,300,4000));
+
+SKIP: {
+ skip("(EBCDIC and) version strings are bad idea", 2) if $Is_EBCDIC;
+
+ is("1.20.300.4000", sprintf "%vd", pack("U*",1,20,300,4000));
+ is("1.20.300.4000", sprintf "%vd", pack(" U*",1,20,300,4000));
+}
isnt(v1.20.300.4000, sprintf "%vd", pack("C0U*",1,20,300,4000));
my $rslt = $Is_EBCDIC ? "156 67" : "199 162";