# HG changeset patch # User Ulrich Drepper # Date 1262599191 -3600 # Node ID 64d47f00112715ddb880c2f81e7558abc5ac78d7 # Parent 3ed9d84fee817a55ce44d108f6a9424efafe8703 regcomp: skip collseq lookup when there are no rules * lib/regcomp.c (lookup_collation_sequence_value): From glibc: http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a532a41df58 diff --git a/ChangeLog b/ChangeLog --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,9 @@ 2010-01-04 Jim Meyering + regcomp: skip collseq lookup when there are no rules + * lib/regcomp.c (lookup_collation_sequence_value): From glibc: + http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a532a41df58 + regcomp: recognize ill-formed { } expressions * lib/regcomp.c (parse_dup_op): From glibc: http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a87cd2894cb diff --git a/lib/regcomp.c b/lib/regcomp.c --- a/lib/regcomp.c +++ b/lib/regcomp.c @@ -2804,7 +2804,7 @@ return elem; } - /* Local function for parse_bracket_exp used in _LIBC environement. + /* Local function for parse_bracket_exp used in _LIBC environment. Look up the collation sequence value of BR_ELEM. Return the value if succeeded, UINT_MAX otherwise. */ @@ -2828,7 +2828,8 @@ } else if (br_elem->type == MB_CHAR) { - return __collseq_table_lookup (collseqwc, br_elem->opr.wch); + if (nrules != 0) + return __collseq_table_lookup (collseqwc, br_elem->opr.wch); } else if (br_elem->type == COLL_SYM) {