diff options
author | Ulrich Drepper <drepper@redhat.com> | 2004-11-18 23:57:34 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2004-11-18 23:57:34 +0000 |
commit | c06a6956a40a878fdbe319e4688196e7c990bf7a (patch) | |
tree | fee7b24f6276363e8b1f0e977231b413f9eb2fbf /posix/regex.h | |
parent | 1b1d36792e9d9c4ad9a67ad8bfc1a3be8f2104c1 (diff) | |
download | glibc-c06a6956a40a878fdbe319e4688196e7c990bf7a.tar glibc-c06a6956a40a878fdbe319e4688196e7c990bf7a.tar.gz glibc-c06a6956a40a878fdbe319e4688196e7c990bf7a.tar.bz2 glibc-c06a6956a40a878fdbe319e4688196e7c990bf7a.zip |
[BZ #544]
Update.
2004-11-18 Jakub Jelinek <jakub@redhat.com>
[BZ #544]
* posix/regex.h (RE_NO_SUB): New define.
* posix/regex_internal.h (OP_DELETED_SUBEXP): New.
(re_dfa_t): Add subexp_map.
* posix/regcomp.c (struct subexp_optimize): New type.
(optimize_subexps): New routine.
(re_compile_internal): Call it.
(re_compile_pattern): Set preg->no_sub to 1 if RE_NO_SUB.
(free_dfa_content): Free subexp_map.
(calc_inveclosure, calc_eclosure): Skip OP_DELETED_SUBEXP
nodes.
* posix/regexec.c (re_search_internal): If subexp_map
is not NULL, duplicate registers as needed.
* posix/Makefile: Add rules to build and run tst-regex2.
* posix/tst-regex2.c: New test.
* posix/rxspencer/tests: Fix last two tests (\0 -> \1).
Add some new tests for nested subexpressions.
Diffstat (limited to 'posix/regex.h')
-rw-r--r-- | posix/regex.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/posix/regex.h b/posix/regex.h index 4279dbcc5b..b2d9a62fec 100644 --- a/posix/regex.h +++ b/posix/regex.h @@ -179,6 +179,10 @@ typedef unsigned long int reg_syntax_t; immediately after an alternation or begin-group operator. */ #define RE_CONTEXT_INVALID_DUP (RE_CARET_ANCHORS_HERE << 1) +/* If this bit is set, then no_sub will be set to 1 during + re_compile_pattern. */ +#define RE_NO_SUB (RE_CONTEXT_INVALID_DUP << 1) + /* This global variable defines the particular regexp syntax to use (for some interfaces). When a regexp is compiled, the syntax used is stored in the pattern buffer, so changing this does not affect |