summaryrefslogtreecommitdiff
path: root/utf8.c
diff options
context:
space:
mode:
authorJarkko Hietaniemi <jhi@iki.fi>2001-12-16 15:34:52 +0000
committerJarkko Hietaniemi <jhi@iki.fi>2001-12-16 15:34:52 +0000
commit6bd23935f1e5b7c6f7035440f4b48e4c9659d61f (patch)
treecec30ad5c05abdf7d3f7cd993e53940ba570cc40 /utf8.c
parent905aa9f0848ed318032cdb14109ace09a223b727 (diff)
downloadperl-6bd23935f1e5b7c6f7035440f4b48e4c9659d61f.tar.gz
Make surrogates illegal also on EBCDIC.
p4raw-id: //depot/perl@13721
Diffstat (limited to 'utf8.c')
-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);