diff options
author | Karl Williamson <khw@cpan.org> | 2020-12-30 05:55:08 -0700 |
---|---|---|
committer | Karl Williamson <khw@cpan.org> | 2020-12-30 07:08:52 -0700 |
commit | 4cfbe5474a5c5f852a6dbf0138dc796c2800be93 (patch) | |
tree | 8ea05ea8bcb4100f77cd73d5e68298f587d5bfaf /pp.c | |
parent | 1f6e74eb3536a13f38c1016477cd5b62dfe4e3da (diff) | |
download | perl-4cfbe5474a5c5f852a6dbf0138dc796c2800be93.tar.gz |
Fix buggy fc() in Turkish locale
When Turkish handling was added, fc() wasn't properly updated
Diffstat (limited to 'pp.c')
-rw-r--r-- | pp.c | 12 |
1 files changed, 9 insertions, 3 deletions
@@ -4813,7 +4813,7 @@ PP(pp_fc) do { extra++; - s_peek = (U8 *) memchr(s_peek + 1, 'i', + s_peek = (U8 *) memchr(s_peek + 1, 'I', send - (s_peek + 1)); } while (s_peek != NULL); } @@ -4828,8 +4828,14 @@ PP(pp_fc) + 1 /* Trailing NUL */ ); d = (U8*)SvPVX(dest) + len; - *d++ = UTF8_TWO_BYTE_HI(GREEK_SMALL_LETTER_MU); - *d++ = UTF8_TWO_BYTE_LO(GREEK_SMALL_LETTER_MU); + if (*s == 'I') { + *d++ = UTF8_TWO_BYTE_HI(LATIN_SMALL_LETTER_DOTLESS_I); + *d++ = UTF8_TWO_BYTE_LO(LATIN_SMALL_LETTER_DOTLESS_I); + } + else { + *d++ = UTF8_TWO_BYTE_HI(GREEK_SMALL_LETTER_MU); + *d++ = UTF8_TWO_BYTE_LO(GREEK_SMALL_LETTER_MU); + } s++; for (; s < send; s++) { |