Commit e0277a47 authored by Kenichi Handa's avatar Kenichi Handa
Browse files

(regex_compile) <normal_char>: Pay attention to multibyteness.

(analyse_first) <exactn>: Setup fastmap correctly for
eight-bit-control characters.
parent c371f69a
......@@ -3064,7 +3064,12 @@ regex_compile (pattern, size, syntax, bufp)
GET_BUFFER_SPACE (MAX_MULTIBYTE_LENGTH);
{
int len = CHAR_STRING (c, b);
int len;
if (multibyte)
len = CHAR_STRING (c, b);
else
*b = c, len = 1;
b += len;
(*pending_exact) += len;
}
......@@ -3375,7 +3380,15 @@ analyse_first (p, pend, fastmap, multibyte)
with `break'. */
case exactn:
if (fastmap) fastmap[p[1]] = 1;
if (fastmap)
{
int c = RE_STRING_CHAR (p + 1, pend - p);
if (SINGLE_BYTE_CHAR_P (c))
fastmap[c] = 1;
else
fastmap[p[1]] = 1;
}
break;
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment