aboutsummaryrefslogtreecommitdiffstats
path: root/regexec.c
diff options
context:
space:
mode:
authorArnold D. Robbins <arnold@skeeve.com>2015-04-05 11:20:41 +0300
committerArnold D. Robbins <arnold@skeeve.com>2015-04-05 11:20:41 +0300
commit4de12ef40f9ea9a0b715903cfe6da51b97eedb77 (patch)
tree84a0c8d117e9a2a629e186a1fe22ebe185e5d6a4 /regexec.c
parent14da33f5ac17b4adfd15ddb12c07715741bd1b1f (diff)
parentdbf9d5a4fc4b6d6340912395f020019576ed37f6 (diff)
downloadegawk-4de12ef40f9ea9a0b715903cfe6da51b97eedb77.tar.gz
egawk-4de12ef40f9ea9a0b715903cfe6da51b97eedb77.tar.bz2
egawk-4de12ef40f9ea9a0b715903cfe6da51b97eedb77.zip
Merge branch 'master' into cmake
Diffstat (limited to 'regexec.c')
-rw-r--r--regexec.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/regexec.c b/regexec.c
index 77795f69..30f2ec74 100644
--- a/regexec.c
+++ b/regexec.c
@@ -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)
{