!(flags & UTF8_ALLOW_CONTINUATION)) {
if (dowarn)
Perl_warner(aTHX_ WARN_UTF8,
- "Malformed UTF-8 character (unexpected continuation byte 0x%02x)",
+ "Malformed UTF-8 character (unexpected continuation byte 0x%02"UVxf")",
uv);
goto malformed;
}
- if ((uv >= 0xc0 && uv <= 0xfd && s[1] < 0x80) &&
+ if ((uv >= 0xc0 && uv <= 0xfd && curlen >1 && s[1] < 0x80) &&
!(flags & UTF8_ALLOW_NON_CONTINUATION)) {
if (dowarn)
Perl_warner(aTHX_ WARN_UTF8,
- "Malformed UTF-8 character (unexpected non-continuation byte 0x%02x after byte 0x%02x)",
- s[1], uv);
+ "Malformed UTF-8 character (unexpected non-continuation byte 0x%02"UVxf" after byte 0x%02"UVxf")",
+ (UV)s[1], uv);
goto malformed;
}
!(flags & UTF8_ALLOW_FE_FF)) {
if (dowarn)
Perl_warner(aTHX_ WARN_UTF8,
- "Malformed UTF-8 character (byte 0x%02x)",
+ "Malformed UTF-8 character (byte 0x%02"UVxf")",
uv);
goto malformed;
}
Copy(ptr, PL_last_swash_key, klen, U8);
}
- switch ((slen << 3) / needents) {
+ switch ((int)((slen << 3) / needents)) {
case 1:
bit = 1 << (off & 7);
off >>= 3;