From d18b62f2111990ea8d083163e0a334e80fe29fb2 Mon Sep 17 00:00:00 2001 From: Karl Heuer Date: Thu, 10 Dec 1998 03:09:12 +0000 Subject: [PATCH] (re_compile_fastmap): For anychar, set all fastmap elements for all possible unibyte chars (except newline). --- src/regex.c | 18 +++++------------- 1 file changed, 5 insertions(+), 13 deletions(-) diff --git a/src/regex.c b/src/regex.c index 0dcdedec517..a700c887da8 100644 --- a/src/regex.c +++ b/src/regex.c @@ -3381,21 +3381,13 @@ re_compile_fastmap (bufp) { int fastmap_newline = fastmap['\n']; - /* `.' matches anything (but if bufp->multibyte is - nonzero, matches `\000' .. `\127' and possible multibyte - character) ... */ + /* `.' matches anything, except perhaps newline. + Even in a multibyte buffer, it should match any + conceivable byte value for the fastmap. */ if (bufp->multibyte) - { - simple_char_max = 0x80; - - for (j = 0x80; j < 0xA0; j++) - if (BASE_LEADING_CODE_P (j)) - fastmap[j] = 1; - match_any_multibyte_characters = true; - } - else - simple_char_max = (1 << BYTEWIDTH); + match_any_multibyte_characters = true; + simple_char_max = (1 << BYTEWIDTH); for (j = 0; j < simple_char_max; j++) fastmap[j] = 1; -- 2.39.2