diff options
author | duerst <duerst@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2016-03-15 07:29:51 +0000 |
---|---|---|
committer | duerst <duerst@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2016-03-15 07:29:51 +0000 |
commit | e89232eb15857daae7bc8cbeec98c253a6e8a9f2 () | |
tree | 5ac55e58b7a21b29c4045938c90e4580a5ad136c | |
parent | 8679f113e949e2484f105fa27a1334342c244b3c (diff) |
* enc/unicode.c: Eliminating common code.
(with Kimihito Matsui) git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54118 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | enc/unicode.c | 42 |
2 files changed, 18 insertions, 29 deletions
@@ -1,3 +1,8 @@ Tue Mar 15 16:17:09 2016 Martin Duerst <[email protected]> * enc/unicode.c: Expansion of some code repetition in preparation for @@ -716,7 +716,6 @@ onigenc_unicode_case_map(OnigCaseFoldType* flagP, MODIFIED; if (flags&OnigCaseFoldFlags(folded->n)&ONIGENC_CASE_SPECIALS) { OnigCodePoint *SpecialsStart = CaseMappingSpecials + OnigSpecialIndexDecode(folded->n); - int count; if (OnigCaseFoldFlags(folded->n)&ONIGENC_CASE_TITLECASE) { if (flags&ONIGENC_CASE_TITLECASE) @@ -732,38 +731,23 @@ onigenc_unicode_case_map(OnigCaseFoldType* flagP, SpecialsCopy: count = SpecialsLengthExtract(*SpecialsStart); next = SpecialsStart; - if (count==1) - code = SpecialsCodepointExtract(*next); - else if (count==2) { - code = SpecialsCodepointExtract(*next++); - to += ONIGENC_CODE_TO_MBC(enc, code, to); - code = *next; - } - else { /* count == 3 */ - code = SpecialsCodepointExtract(*next++); - to += ONIGENC_CODE_TO_MBC(enc, code, to); - code = *next++; - to += ONIGENC_CODE_TO_MBC(enc, code, to); - code = *next; - } } else { /* no specials */ count = OnigCodePointCount(folded->n); next = folded->code; - if (count==1) - code = *next; - else if (count==2) { - code = *next++; - to += ONIGENC_CODE_TO_MBC(enc, code, to); - code = *next; - } - else { /* count == 3 */ - code = *next++; - to += ONIGENC_CODE_TO_MBC(enc, code, to); - code = *next++; - to += ONIGENC_CODE_TO_MBC(enc, code, to); - code = *next; - } } } } |