diff options
-rw-r--r-- | ChangeLog | 7 | ||||
-rw-r--r-- | posix/regcomp.c | 18 |
2 files changed, 15 insertions, 10 deletions
@@ -1,3 +1,8 @@ +2004-02-26 Ulrich Drepper <drepper@redhat.com> + + * posix/regcomp.c (parse_expression): Avoid duplication in calls + to build_charclass_op. + 2004-02-26 Jakub Jelinek <jakub@redhat.com> * elf/rtld.c (dl_main): Correctly set up l_map_end and l_addr @@ -24,6 +29,8 @@ 2004-02-24 Nelson H.F. Beebe <beebe@math.utah.edu> + * posix/regcomp.c (parse_expression): Add cast to (const unsigned + char *) in calls to `build_charclass_op'. * posix/regex_internal.c (build_wcs_buffer): Add cast to char* in call to `wcrtomb'. * posix/regex_internal.h (bitset_not, bitset_merge, bitset_not_merge, diff --git a/posix/regcomp.c b/posix/regcomp.c index 96b63a40f0..eccb93e46e 100644 --- a/posix/regcomp.c +++ b/posix/regcomp.c @@ -2239,22 +2239,20 @@ parse_expression (regexp, preg, token, syntax, nest, err) dfa->has_mb_node = 1; break; case OP_WORD: - tree = build_charclass_op (dfa, regexp->trans, "alnum", "_", 0, err); - if (BE (*err != REG_NOERROR && tree == NULL, 0)) - return NULL; - break; case OP_NOTWORD: - tree = build_charclass_op (dfa, regexp->trans, "alnum", "_", 1, err); + tree = build_charclass_op (dfa, regexp->trans, + (const unsigned char *) "alnum", + (const unsigned char *) "_", + token->type == OP_NOTWORD, err); if (BE (*err != REG_NOERROR && tree == NULL, 0)) return NULL; break; case OP_SPACE: - tree = build_charclass_op (dfa, regexp->trans, "space", "", 0, err); - if (BE (*err != REG_NOERROR && tree == NULL, 0)) - return NULL; - break; case OP_NOTSPACE: - tree = build_charclass_op (dfa, regexp->trans, "space", "", 1, err); + tree = build_charclass_op (dfa, regexp->trans, + (const unsigned char *) "space", + (const unsigned char *) "", + token->type == OP_NOTSPACE, err); if (BE (*err != REG_NOERROR && tree == NULL, 0)) return NULL; break; |