diff options
author | Karl Williamson <public@khwilliamson.com> | 2010-11-30 17:48:22 -0700 |
---|---|---|
committer | Father Chrysostomos <sprout@cpan.org> | 2010-12-01 18:06:00 -0800 |
commit | 1e696034880c724355310894883f86e27e0cb264 (patch) | |
tree | 5c2af8a0b7cac9cb0803771e93cbd8dbe749ec79 /regcomp.c | |
parent | 4b714af6fa31f14f6cc58acda554a5dbef2f5248 (diff) | |
download | perl-1e696034880c724355310894883f86e27e0cb264.tar.gz |
regcomp.c: teach tries about EXACTFU
Diffstat (limited to 'regcomp.c')
-rw-r--r-- | regcomp.c | 14 |
1 files changed, 7 insertions, 7 deletions
@@ -1358,13 +1358,7 @@ S_make_trie(pTHX_ RExC_state_t *pRExC_state, regnode *startbranch, regnode *firs regnode *convert = NULL; U32 *prev_states; /* temp array mapping each state to previous one */ /* we just use folder as a flag in utf8 */ - const U8 * const folder = ( flags == EXACTF - ? PL_fold - : ( flags == EXACTFL - ? PL_fold_locale - : NULL - ) - ); + const U8 * folder = NULL; #ifdef DEBUGGING const U32 data_slot = add_data( pRExC_state, 4, "tuuu" ); @@ -1384,6 +1378,12 @@ S_make_trie(pTHX_ RExC_state_t *pRExC_state, regnode *startbranch, regnode *firs PERL_UNUSED_ARG(depth); #endif + switch (flags) { + case EXACTFU: folder = PL_fold_latin1; break; + case EXACTF: folder = PL_fold; break; + case EXACTFL: folder = PL_fold_locale; break; + } + trie = (reg_trie_data *) PerlMemShared_calloc( 1, sizeof(reg_trie_data) ); trie->refcount = 1; trie->startstate = 1; |