diff options
author | duerst <duerst@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2016-05-24 23:01:39 +0000 |
---|---|---|
committer | duerst <duerst@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2016-05-24 23:01:39 +0000 |
commit | ef6405f71cbc73864a4ee4a46c9ab6d5ccd16959 () | |
tree | 13adf866257de865405e83a399ae2d874676a53e /enc/unicode.c | |
parent | 85500b6634290809aafc7be3eaec9f0c77b50ca9 (diff) |
* enc/unicode.c: Fix flag error for switch from titlecase to lowercase.
* test/ruby/enc/test_case_mapping.rb: Tests for above error. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55153 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r-- | enc/unicode.c | 5 |
1 files changed, 4 insertions, 1 deletions
@@ -670,6 +670,8 @@ onigenc_unicode_case_map(OnigCaseFoldType* flagP, OnigUChar *to_start = to; OnigCaseFoldType flags = *flagP; to_end -= CASE_MAPPING_SLACK; flags |= (flags&(ONIGENC_CASE_UPCASE|ONIGENC_CASE_DOWNCASE))<<ONIGENC_CASE_SPECIAL_OFFSET; while (*pp<end && to<=to_end) { @@ -780,7 +782,8 @@ onigenc_unicode_case_map(OnigCaseFoldType* flagP, to += ONIGENC_CODE_TO_MBC(enc, code, to); /* switch from titlecase to lowercase for capitalize */ if (flags & ONIGENC_CASE_TITLECASE) - flags ^= (ONIGENC_CASE_UPCASE|ONIGENC_CASE_TITLECASE|ONIGENC_CASE_DOWNCASE); } *flagP = flags; return (int)(to-to_start); |