diff options
author | duerst <duerst@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2016-02-08 04:00:31 +0000 |
---|---|---|
committer | duerst <duerst@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2016-02-08 04:00:31 +0000 |
commit | 8f10a72d909bea83bca029375516dbcb02286518 () | |
tree | 7a8754c3452b16eae67e089f7abfe98260d97e0f /enc/unicode.c | |
parent | 1bea5a61273e2f6402a26fd885ce5f6cd3db301d (diff) |
* enc/unicode.c: Shortened macros for enc/unicode/casefold.h to
single-letter; use flags in casefold.h for logic. * enc/unicode/case-folding.rb: Added flag for case folding. Changed parameter passing. * enc/unicode/casefold.h: New flags added. (with Kimihito Matsui) git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53775 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r-- | enc/unicode.c | 21 |
1 files changed, 11 insertions, 10 deletions
@@ -73,6 +73,7 @@ static const unsigned short EncUNICODE_ISO_8859_1_CtypeTable[256] = { /* use bottom bytes for actual code point count; 3 bits is more than enough */ #define OnigCodePointCount(n) ((n)&0x7) typedef struct { int n; @@ -140,17 +141,17 @@ code3_equal(const OnigCodePoint *x, const OnigCodePoint *y) return 1; } -#define UP ONIGENC_CASE_UPCASE -#define DOWN ONIGENC_CASE_DOWNCASE -#define TITLE ONIGENC_CASE_TITLECASE -#define FOLD ONIGENC_CASE_FOLD #include "enc/unicode/casefold.h" -#undef UP -#undef DOWN -#undef TITLE -#undef FOLD #include "enc/unicode/name2ctype.h" @@ -676,9 +677,9 @@ onigenc_unicode_case_map(OnigCaseFoldType* flagP, code = 0x0049; MODIFIED; } else if ((folded = onigenc_unicode_fold_lookup(code)) != 0) { - if (flags&ONIGENC_CASE_FOLD) { - const OnigCodePoint *next = folded->code; int count = OnigCodePointCount(folded->n); MODIFIED; if (count==1) code = *next; |