summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog6
-rw-r--r--ext/.document3
-rw-r--r--regex.c2
3 files changed, 9 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index 9278ba9b04..787a4bf5ad 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+Tue Apr 25 00:08:24 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * regex.c (re_compile_pattern): should check if c is not a
+ multibyte chracter. a patch from KIMURA Koichi
+ <kimura.koichi at canon.co.jp>. [ruby-dev:28598]
+
Fri Apr 21 15:19:13 2006 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
* ext/tk/tcltklib.c (lib_eventloop_ensure): refer freed pointer
diff --git a/ext/.document b/ext/.document
index 263d40444c..ba8182593e 100644
--- a/ext/.document
+++ b/ext/.document
@@ -4,7 +4,8 @@ enumerator/enumerator.c
iconv/iconv.c
nkf/lib/kconv.rb
nkf/nkf.c
+socket/socket.c
stringio/stringio.c
strscan/strscan.c
-zlib/zlib.c
win32ole
+zlib/zlib.c
diff --git a/regex.c b/regex.c
index 7717835c92..f2cd249060 100644
--- a/regex.c
+++ b/regex.c
@@ -1705,7 +1705,7 @@ re_compile_pattern(pattern, size, bufp)
goto range_retry;
}
else {
- if (TRANSLATE_P()) c = (unsigned char)translate[c];
+ if (TRANSLATE_P() && c < 0x100) c = (unsigned char)translate[c];
if (had_mbchar == 0 && (!current_mbctype || !had_num_literal)) {
SET_LIST_BIT(c);
had_num_literal = 0;