diff options
-rw-r--r-- | ChangeLog | 4 | ||||
-rw-r--r-- | enc/iso_8859_1.c | 11 |
2 files changed, 10 insertions, 5 deletions
@@ -1,3 +1,7 @@ +Sat Jun 11 09:58:45 2016 Martin Duerst <duerst@it.aoyama.ac.jp> + + * enc/iso_8859_1.c: Revert to older version of code. + Sat Jun 11 09:46:17 2016 Martin Duerst <duerst@it.aoyama.ac.jp> * enc/iso_8859_1.c: Implement non-ASCII case mapping. diff --git a/enc/iso_8859_1.c b/enc/iso_8859_1.c index 5f0d3f91ab..0c8c095b7c 100644 --- a/enc/iso_8859_1.c +++ b/enc/iso_8859_1.c @@ -260,7 +260,7 @@ case_map (OnigCaseFoldType* flagP, const OnigUChar** pp, const OnigUChar* end, OnigUChar* to, OnigUChar* to_end, const struct OnigEncodingTypeST* enc) { - OnigCodePoint code, lower; + OnigCodePoint code; OnigUChar *to_start = to; OnigCaseFoldType flags = *flagP; @@ -278,10 +278,11 @@ case_map (OnigCaseFoldType* flagP, const OnigUChar** pp, code = 's'; } } - else if ((lower=ONIGENC_ISO_8859_1_TO_LOWER_CASE(code)) != code) - && (flags&ONIGENC_CASE_UPCASE)) { - flags |= ONIGENC_CASE_MODIFIED; - code = lower; + else if (code==0xAA || code==0xBA) ; + else if ((EncISO_8859_1_CtypeTable[code] & BIT_CTYPE_UPPER) + && (flags & (ONIGENC_CASE_DOWNCASE|ONIGENC_CASE_FOLD))) { + flags |= ONIGENC_CASE_MODIFIED; + code += 0x20; } else if ((EncISO_8859_1_CtypeTable[code]&BIT_CTYPE_LOWER) && (flags&ONIGENC_CASE_UPCASE)) { |