Fix lookup of collation sequence value during regexp matching

This commit is contained in:
Andreas Schwab 2010-05-05 09:59:25 -07:00 committed by Ulrich Drepper
parent 5d05c55424
commit d84acf388e
2 changed files with 4 additions and 3 deletions

View File

@ -1,6 +1,7 @@
2010-05-05 Andreas Schwab <schwab@redhat.com>
2010-05-04 Andreas Schwab <schwab@redhat.com>
* INSTALL: Regenerate.
* posix/regexec.c (find_collation_sequence_value): Fix skipping
the wide char sequence of the collating element.
2010-05-05 Ulrich Drepper <drepper@redhat.com>

View File

@ -4031,7 +4031,7 @@ find_collation_sequence_value (const unsigned char *mbs, size_t mbs_len)
/* Skip the collation sequence value. */
idx += sizeof (uint32_t);
/* Skip the wide char sequence of the collating element. */
idx = idx + sizeof (uint32_t) * (extra[idx] + 1);
idx = idx + sizeof (uint32_t) * (*(int32_t *) (extra + idx) + 1);
/* If we found the entry, return the sequence value. */
if (found)
return *(uint32_t *) (extra + idx);