summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog4
-rw-r--r--re.c4
2 files changed, 6 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index da152aca88..af63917f42 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+Sun Dec 2 20:43:22 2007 Tanaka Akira <akr@fsij.org>
+
+ * re.c (unescape_escaped_nonascii): fix mbclen argument.
+
Sun Dec 2 15:47:57 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
* parse.y (parser_tokadd_mbchar): check insufficient multibyte char.
diff --git a/re.c b/re.c
index 0fc5f10e30..0ecaccccfd 100644
--- a/re.c
+++ b/re.c
@@ -1373,7 +1373,7 @@ unescape_escaped_nonascii(const char **pp, const char *end, rb_encoding *enc,
}
chbuf[chlen++] = byte;
- while (chlen < chmaxlen && chlen != mbclen(chbuf, chbuf+chmaxlen, enc)) {
+ while (chlen < chmaxlen && chlen != mbclen(chbuf, chbuf+chlen, enc)) {
byte = read_escaped_byte(&p, end, err);
if (byte == -1) {
return -1;
@@ -1381,7 +1381,7 @@ unescape_escaped_nonascii(const char **pp, const char *end, rb_encoding *enc,
chbuf[chlen++] = byte;
}
- if (chlen != mbclen(chbuf, chbuf+chmaxlen, enc)) {
+ if (chlen != mbclen(chbuf, chbuf+chlen, enc)) {
strcpy(err, "invalid multibyte escape");
return -1;
}