From 7253570a838802cb04e99206beb945c427502616 Mon Sep 17 00:00:00 2001 From: duerst Date: Mon, 11 Jul 2016 09:05:53 +0000 Subject: [PATCH] * enc/iso_8859_1.c: Moved test for lowercase characters without uppercase equivalent. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55632 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 5 +++++ enc/iso_8859_1.c | 6 ++++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index 331f98608e..d8c5901bc2 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Mon Jul 11 18:05:40 2016 Martin Duerst + + * enc/iso_8859_1.c: Moved test for lowercase characters without + uppercase equivalent. + Mon Jul 11 17:49:25 2016 Martin Duerst * enc/iso_8859_4.c, enc/iso_8859_10.c, enc/iso_8859_14.c, diff --git a/enc/iso_8859_1.c b/enc/iso_8859_1.c index ad3d4a531a..6070e4874c 100644 --- a/enc/iso_8859_1.c +++ b/enc/iso_8859_1.c @@ -279,7 +279,6 @@ case_map (OnigCaseFoldType* flagP, const OnigUChar** pp, code = 's'; } } - else if (code==0xAA || code==0xBA || code==0xB5 || code==0xFF) ; else if ((EncISO_8859_1_CtypeTable[code] & BIT_CTYPE_UPPER) && (flags & (ONIGENC_CASE_DOWNCASE|ONIGENC_CASE_FOLD))) { flags |= ONIGENC_CASE_MODIFIED; @@ -288,7 +287,10 @@ case_map (OnigCaseFoldType* flagP, const OnigUChar** pp, else if ((EncISO_8859_1_CtypeTable[code]&BIT_CTYPE_LOWER) && (flags&ONIGENC_CASE_UPCASE)) { flags |= ONIGENC_CASE_MODIFIED; - code -= 0x20; + if (code==0xAA || code==0xBA || code==0xB5 || code==0xFF) + ; + else + code -= 0x20; } *to++ = code; if (flags&ONIGENC_CASE_TITLECASE) /* switch from titlecase to lowercase for capitalize */