summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--utf8.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/utf8.c b/utf8.c
index f21b13c4fe..517b2e37ad 100644
--- a/utf8.c
+++ b/utf8.c
@@ -50,6 +50,8 @@ Perl_uvuni_to_utf8(pTHX_ U8 *d, UV uv)
*d++ = UTF_TO_NATIVE(uv);
return d;
}
+ if (UNICODE_IS_SURROGATE(uv))
+ Perl_croak(aTHX_ "UTF-16 surrogate 0x%04"UVxf, uv);
#if defined(EBCDIC)
else {
STRLEN len = UNISKIP(uv);
@@ -68,8 +70,6 @@ Perl_uvuni_to_utf8(pTHX_ U8 *d, UV uv)
return d;
}
if (uv < 0x10000) {
- if (UNICODE_IS_SURROGATE(uv))
- Perl_croak(aTHX_ "UTF-16 surrogate 0x%04"UVxf, uv);
*d++ = (( uv >> 12) | 0xe0);
*d++ = (((uv >> 6) & 0x3f) | 0x80);
*d++ = (( uv & 0x3f) | 0x80);