summaryrefslogtreecommitdiff
path: root/utf8.c
diff options
context:
space:
mode:
authorJarkko Hietaniemi <jhi@iki.fi>2001-11-27 02:03:49 +0000
committerJarkko Hietaniemi <jhi@iki.fi>2001-11-27 02:03:49 +0000
commit4d7ead49781ee2f171e546bade98da75133c1ec4 (patch)
treecdb4b456c684e049812110433267b7ba0898a197 /utf8.c
parentca092af1a471d6bcbca184bab5ccc86d14c48320 (diff)
downloadperl-4d7ead49781ee2f171e546bade98da75133c1ec4.tar.gz
(retracted by #13449)
Try to make Unicode casemapping to work for EBCDIC, too. p4raw-id: //depot/perl@13303
Diffstat (limited to 'utf8.c')
-rw-r--r--utf8.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/utf8.c b/utf8.c
index d73809c164..f900724ab0 100644
--- a/utf8.c
+++ b/utf8.c
@@ -1220,6 +1220,8 @@ Perl_to_utf8_case(pTHX_ U8 *p, U8* ustrp, STRLEN *lenp, SV **swashp,char *normal
HE *he;
uv = utf8_to_uvchr(p, 0);
+ if (uv <= 0xff)
+ uv = NATIVE_TO_UTF(uv);
if ((hv = get_hv(special, FALSE)) &&
(keysv = sv_2mortal(Perl_newSVpvf(aTHX_ "%04"UVXf, uv))) &&
@@ -1230,6 +1232,7 @@ Perl_to_utf8_case(pTHX_ U8 *p, U8* ustrp, STRLEN *lenp, SV **swashp,char *normal
if (*lenp > 1 || UNI_IS_INVARIANT(c))
Copy(s, ustrp, *lenp, U8);
else {
+ c = UTF_TO_NATIVE(c);
/* something in the 0x80..0xFF range */
ustrp[0] = UTF8_EIGHT_BIT_HI(c);
ustrp[1] = UTF8_EIGHT_BIT_LO(c);