diff options
author | Ulrich Drepper <drepper@redhat.com> | 2003-01-16 19:20:36 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2003-01-16 19:20:36 +0000 |
commit | 7b7b9e70ea0d820c863c78fbf84fe52626a408d6 (patch) | |
tree | e790ee9854276c668b51c81e470d2aab2df0800c /posix/regcomp.c | |
parent | 850dcfcafe6c1cc9e59763a882a25a2f0c2c4d68 (diff) | |
download | glibc-7b7b9e70ea0d820c863c78fbf84fe52626a408d6.zip glibc-7b7b9e70ea0d820c863c78fbf84fe52626a408d6.tar.gz glibc-7b7b9e70ea0d820c863c78fbf84fe52626a408d6.tar.bz2 |
Update.
* posix/regcomp.c (parse_bracket_exp): If build_charclass fails,
set *err to the returned error, not to REG_ESPACE unconditionally.
(build_word_op): Likewise.
* posix/Makefile (tests): Add bug-regex16.
* posix/bug-regex16.c: New test.
2003-01-16 Jakub Jelinek <jakub@redhat.com>
Diffstat (limited to 'posix/regcomp.c')
-rw-r--r-- | posix/regcomp.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/posix/regcomp.c b/posix/regcomp.c index 12724e4..e36383b 100644 --- a/posix/regcomp.c +++ b/posix/regcomp.c @@ -2993,13 +2993,13 @@ parse_bracket_exp (regexp, dfa, token, syntax, err) goto parse_bracket_exp_free_return; break; case CHAR_CLASS: - ret = build_charclass (sbcset, + *err = build_charclass (sbcset, #ifdef RE_ENABLE_I18N - mbcset, &char_class_alloc, + mbcset, &char_class_alloc, #endif /* RE_ENABLE_I18N */ - start_elem.opr.name, syntax); - if (BE (ret != REG_NOERROR, 0)) - goto parse_bracket_exp_espace; + start_elem.opr.name, syntax); + if (BE (*err != REG_NOERROR, 0)) + goto parse_bracket_exp_free_return; break; default: assert (0); @@ -3380,7 +3380,7 @@ build_word_op (dfa, not, err) #ifdef RE_ENABLE_I18N free_charset (mbcset); #endif /* RE_ENABLE_I18N */ - *err = REG_ESPACE; + *err = ret; return NULL; } /* \w match '_' also. */ |