Browse Source

* posix/regcomp.c (lower_subexp): Do not optimize empty

subexpressions even with REG_NOSUB.
	* posix/rxspencer/tests: Add a previously failing testcase.
cvs/glibc-2_5-branch
Ulrich Drepper 21 years ago
parent
commit
744eb12b7b
  1. 6
      ChangeLog
  2. 5
      posix/regcomp.c
  3. 1
      posix/rxspencer/tests

6
ChangeLog

@ -1,3 +1,9 @@
2005-02-10 Paolo Bonzini <bonzini@gnu.org>
* posix/regcomp.c (lower_subexp): Do not optimize empty
subexpressions even with REG_NOSUB.
* posix/rxspencer/tests: Add a previously failing testcase.
2005-02-21 Alan Modra <amodra@bigpond.net.au>
* elf/dl-reloc.c (_dl_nothread_init_static_tls): Assert that dtv

5
posix/regcomp.c

@ -1321,6 +1321,11 @@ lower_subexp (err, preg, node)
bin_tree_t *op, *cls, *tree1, *tree;
if (preg->no_sub
/* We do not optimize empty subexpressions, because otherwise we may
have bad CONCAT nodes with NULL children. This is obviously not
very common, so we do not lose much. An example that triggers
this case is the sed "script" /\(\)/x. */
&& node->left != NULL
&& (node->token.opr.idx >= 8 * sizeof (dfa->used_bkref_map)
|| !(dfa->used_bkref_map & (1 << node->token.opr.idx))))
return node->left;

1
posix/rxspencer/tests

@ -376,6 +376,7 @@ a(b?c)+d - accd accd
a[bc]d - xyzaaabcaababdacd abd
a[ab]c - aaabc abc
abc s abc abc
() s abc @abc
a* & b @b
# Let's have some fun -- try to match a C comment.

Loading…
Cancel
Save