diff options
-rw-r--r-- | libiberty/ChangeLog | 6 | ||||
-rw-r--r-- | libiberty/regex.c | 4 |
2 files changed, 8 insertions, 2 deletions
diff --git a/libiberty/ChangeLog b/libiberty/ChangeLog index 5c70d68..ee9da0f 100644 --- a/libiberty/ChangeLog +++ b/libiberty/ChangeLog @@ -1,3 +1,9 @@ +2001-08-12 Isamu Hasegawa <isamu@yamato.ibm.com> + + * regex.c (wcs_regex_compile): Use appropriate string + to compare with collating element. + Fix the padding for the alignment. + 2001-06-13 Andrew Cagney <ac131313@redhat.com> * lbasename.c (lbasename): Change function definition to return a diff --git a/libiberty/regex.c b/libiberty/regex.c index 555d3bb..f22047c 100644 --- a/libiberty/regex.c +++ b/libiberty/regex.c @@ -3059,7 +3059,7 @@ PREFIX(regex_compile) (ARG_PREFIX(pattern), ARG_PREFIX(size), syntax, bufp) /* First compare the hashing value. */ if (symb_table[2 * elem] == hash && c1 == extra[symb_table[2 * elem + 1]] - && memcmp (str, + && memcmp (char_str, &extra[symb_table[2 * elem + 1] + 1], c1) == 0) { @@ -3079,7 +3079,7 @@ PREFIX(regex_compile) (ARG_PREFIX(pattern), ARG_PREFIX(size), syntax, bufp) in the table. */ idx += 1 + extra[idx]; /* Adjust for the alignment. */ - idx = (idx + 3) & ~4; + idx = (idx + 3) & ~3; str[0] = (wchar_t) idx + 4; } |