diff options
author | Roland McGrath <roland@hack.frob.com> | 2014-09-11 16:02:17 -0700 |
---|---|---|
committer | Roland McGrath <roland@hack.frob.com> | 2014-09-11 16:02:17 -0700 |
commit | 8c0ab919f63dc03a420751172602a52d2bea59a8 (patch) | |
tree | a196619b2a14716dd6896b2dc26c5719940a0e6a /posix/regcomp.c | |
parent | 52ffbdf25a1100986f4ae27bb0febbe5a722ab25 (diff) |
Move findidx nested functions to top-level.
Diffstat (limited to 'posix/regcomp.c')
-rw-r--r-- | posix/regcomp.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/posix/regcomp.c b/posix/regcomp.c index 8f2747b3c9..897fe276a3 100644 --- a/posix/regcomp.c +++ b/posix/regcomp.c @@ -19,6 +19,10 @@ #include <stdint.h> +#ifdef _LIBC +# include <locale/weight.h> +#endif + static reg_errcode_t re_compile_internal (regex_t *preg, const char * pattern, size_t length, reg_syntax_t syntax); static void re_compile_fastmap_iter (regex_t *bufp, @@ -3426,8 +3430,6 @@ build_equiv_class (bitset_t sbcset, const unsigned char *name) int32_t idx1, idx2; unsigned int ch; size_t len; - /* This #include defines a local function! */ -# include <locale/weight.h> /* Calculate the index for equivalence class. */ cp = name; table = (const int32_t *) _NL_CURRENT (LC_COLLATE, _NL_COLLATE_TABLEMB); @@ -3437,7 +3439,7 @@ build_equiv_class (bitset_t sbcset, const unsigned char *name) _NL_COLLATE_EXTRAMB); indirect = (const int32_t *) _NL_CURRENT (LC_COLLATE, _NL_COLLATE_INDIRECTMB); - idx1 = findidx (&cp, -1); + idx1 = findidx (table, indirect, extra, &cp, -1); if (BE (idx1 == 0 || *cp != '\0', 0)) /* This isn't a valid character. */ return REG_ECOLLATE; @@ -3448,7 +3450,7 @@ build_equiv_class (bitset_t sbcset, const unsigned char *name) { char_buf[0] = ch; cp = char_buf; - idx2 = findidx (&cp, 1); + idx2 = findidx (table, indirect, extra, &cp, 1); /* idx2 = table[ch]; */ |