(regex_compile): Use TRANSLATE before calling SET_LIST_BIT.
authorRichard Stallman <rms@gnu.org>
Thu, 19 Sep 1996 03:00:06 +0000 (03:00 +0000)
committerRichard Stallman <rms@gnu.org>
Thu, 19 Sep 1996 03:00:06 +0000 (03:00 +0000)
regex.c

diff --git a/regex.c b/regex.c
index 9d8d2d489fd14134e07f5a9e1439045a9abf7339..4f222a5e42e32d4f8d4cbe18517f3d3065d86fac 100644 (file)
--- a/regex.c
+++ b/regex.c
@@ -2083,23 +2083,24 @@ regex_compile (pattern, size, syntax, bufp)
 
                        for (ch = 0; ch < 1 << BYTEWIDTH; ch++)
                          {
+                           int translated = TRANSLATE (ch);
                            /* This was split into 3 if's to
                               avoid an arbitrary limit in some compiler.  */
                            if (   (is_alnum  && ISALNUM (ch))
                                || (is_alpha  && ISALPHA (ch))
                                || (is_blank  && ISBLANK (ch))
                                || (is_cntrl  && ISCNTRL (ch)))
-                             SET_LIST_BIT (ch);
+                             SET_LIST_BIT (translated);
                            if (   (is_digit  && ISDIGIT (ch))
                                || (is_graph  && ISGRAPH (ch))
                                || (is_lower  && ISLOWER (ch))
                                || (is_print  && ISPRINT (ch)))
-                             SET_LIST_BIT (ch);
+                             SET_LIST_BIT (translated);
                            if (   (is_punct  && ISPUNCT (ch))
                                || (is_space  && ISSPACE (ch))
                                || (is_upper  && ISUPPER (ch))
                                || (is_xdigit && ISXDIGIT (ch)))
-                             SET_LIST_BIT (ch);
+                             SET_LIST_BIT (translated);
                          }
                        had_char_class = true;
                      }