diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2014-05-30 23:56:00 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2014-05-30 23:56:00 +0000 |
commit | 88eae35862f3b228443f116234cbf09057c361c8 (patch) | |
tree | 8c41fd4f70788aa16945c5ccad5f6ffedbff03ee /enc/unicode.c | |
parent | 1d588b4fde447d38c978a11b8e89ae8b5436f2e8 (diff) | |
download | ruby-88eae35862f3b228443f116234cbf09057c361c8.tar.gz |
case-folding.rb: merge tables
* enc/unicode/case-folding.rb (print_table): merge non-locale and
locale tables, and reduce initializing loops.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46268 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'enc/unicode.c')
-rw-r--r-- | enc/unicode.c | 30 |
1 files changed, 7 insertions, 23 deletions
diff --git a/enc/unicode.c b/enc/unicode.c index ff2a9b08ee..79648a5df4 100644 --- a/enc/unicode.c +++ b/enc/unicode.c @@ -236,46 +236,30 @@ static int CaseFoldInited = 0; static int init_case_fold_table(void) { - const CaseFold_11_Type *p; - const CaseUnfold_11_Type *p1; - const CaseUnfold_12_Type *p2; - const CaseUnfold_13_Type *p3; int i; THREAD_ATOMIC_START; FoldTable = st_init_numtable_with_size(FOLD_TABLE_SIZE); if (ONIG_IS_NULL(FoldTable)) return ONIGERR_MEMORY; - for (i = 0; i < numberof(CaseFold); i++) { - p = &CaseFold[i]; - st_add_direct(FoldTable, (st_data_t )p->from, (st_data_t )&(p->to)); - } - for (i = 0; i < numberof(CaseFold_Locale); i++) { - p = &CaseFold_Locale[i]; + for (i = 0; i < numberof(CaseFold_11_Table); i++) { + const CaseFold_11_Type *p = &CaseFold_11_Table[i]; st_add_direct(FoldTable, (st_data_t )p->from, (st_data_t )&(p->to)); } Unfold1Table = st_init_numtable_with_size(UNFOLD1_TABLE_SIZE); if (ONIG_IS_NULL(Unfold1Table)) return ONIGERR_MEMORY; - for (i = 0; i < numberof(CaseUnfold_11); i++) { - p1 = &CaseUnfold_11[i]; - st_add_direct(Unfold1Table, (st_data_t )p1->from, (st_data_t )&(p1->to)); - } - for (i = 0; i < numberof(CaseUnfold_11_Locale); i++) { - p1 = &CaseUnfold_11_Locale[i]; + for (i = 0; i < numberof(CaseUnfold_11_Table); i++) { + const CaseUnfold_11_Type *p1 = &CaseUnfold_11_Table[i]; st_add_direct(Unfold1Table, (st_data_t )p1->from, (st_data_t )&(p1->to)); } Unfold2Table = st_init_table_with_size(&type_code2_hash, UNFOLD2_TABLE_SIZE); if (ONIG_IS_NULL(Unfold2Table)) return ONIGERR_MEMORY; - for (i = 0; i < numberof(CaseUnfold_12); i++) { - p2 = &CaseUnfold_12[i]; - st_add_direct(Unfold2Table, (st_data_t )p2->from, (st_data_t )(&p2->to)); - } - for (i = 0; i < numberof(CaseUnfold_12_Locale); i++) { - p2 = &CaseUnfold_12_Locale[i]; + for (i = 0; i < numberof(CaseUnfold_12_Table); i++) { + const CaseUnfold_12_Type *p2 = &CaseUnfold_12_Table[i]; st_add_direct(Unfold2Table, (st_data_t )p2->from, (st_data_t )(&p2->to)); } @@ -283,7 +267,7 @@ static int init_case_fold_table(void) if (ONIG_IS_NULL(Unfold3Table)) return ONIGERR_MEMORY; for (i = 0; i < numberof(CaseUnfold_13); i++) { - p3 = &CaseUnfold_13[i]; + const CaseUnfold_13_Type *p3 = &CaseUnfold_13[i]; st_add_direct(Unfold3Table, (st_data_t )p3->from, (st_data_t )(&p3->to)); } |