diff options
author | Arnold D. Robbins <arnold@skeeve.com> | 2015-02-07 20:01:44 +0200 |
---|---|---|
committer | Arnold D. Robbins <arnold@skeeve.com> | 2015-02-07 20:01:44 +0200 |
commit | 840a7fd39249c6680e74dd72d1ba0c55174a4996 (patch) | |
tree | c1af6ba478464618eb56cb5d17bd5f41a12b76cd /regexec.c | |
parent | 871e6f0348f8e6ee82a9ddcfcf8f88f4c818e4ae (diff) | |
download | egawk-840a7fd39249c6680e74dd72d1ba0c55174a4996.tar.gz egawk-840a7fd39249c6680e74dd72d1ba0c55174a4996.tar.bz2 egawk-840a7fd39249c6680e74dd72d1ba0c55174a4996.zip |
Sync regex with GLIBC.
Diffstat (limited to 'regexec.c')
-rw-r--r-- | regexec.c | 10 |
1 files changed, 6 insertions, 4 deletions
@@ -1,5 +1,5 @@ /* Extended regular expression matching and search library. - Copyright (C) 2002-2013 Free Software Foundation, Inc. + Copyright (C) 2002-2015 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Isamu Hasegawa <isamu@yamato.ibm.com>. @@ -3762,6 +3762,10 @@ group_nodes_into_DFAstates (const re_dfa_t *dfa, const re_dfastate_t *state, one collating element like '.', '[a-z]', opposite to the other nodes can only accept one byte. */ +# ifdef _LIBC +# include <locale/weight.h> +# endif + static int internal_function check_node_accept_bytes (const re_dfa_t *dfa, int node_idx, @@ -3883,8 +3887,6 @@ check_node_accept_bytes (const re_dfa_t *dfa, int node_idx, const int32_t *table, *indirect; const unsigned char *weights, *extra; const char *collseqwc; - /* This #include defines a local function! */ -# include <locale/weight.h> /* match with collating_symbol? */ if (cset->ncoll_syms) @@ -3940,7 +3942,7 @@ check_node_accept_bytes (const re_dfa_t *dfa, int node_idx, _NL_CURRENT (LC_COLLATE, _NL_COLLATE_EXTRAMB); indirect = (const int32_t *) _NL_CURRENT (LC_COLLATE, _NL_COLLATE_INDIRECTMB); - int32_t idx = findidx (&cp, elem_len); + int32_t idx = findidx (table, indirect, extra, &cp, elem_len); if (idx > 0) for (i = 0; i < cset->nequiv_classes; ++i) { |