summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormame <mame@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-04-16 15:48:25 +0000
committermame <mame@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-04-16 15:48:25 +0000
commit1b71f8f81631bb1bf3bfe3c28764b82e60d61252 (patch)
tree4b256ee6349557ffbc127fa7c0b70cf0d03504ba
parentc14689a0fd834e9eef672954debaf86cd922766a (diff)
* dir.c (bracket): fix escape handling for range character in bracket
of fnmatch pattern. e.g., '[a\-c]' should not match 'b'. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23194 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog5
-rw-r--r--dir.c2
2 files changed, 6 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index acb469bb52..b386de37a6 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Fri Apr 17 00:45:09 2009 Yusuke Endoh <mame@tsg.ne.jp>
+
+ * dir.c (bracket): fix escape handling for range character in bracket
+ of fnmatch pattern. e.g., '[a\-c]' should not match 'b'.
+
Thu Apr 16 23:09:03 2009 Tanaka Akira <akr@fsij.org>
* class.c (rb_define_method_id): use rb_define_notimplement_method_id
diff --git a/dir.c b/dir.c
index be642d38eb..ffe63cf88b 100644
--- a/dir.c
+++ b/dir.c
@@ -109,7 +109,7 @@ bracket(
t1++;
if (!*t1)
return NULL;
- p += (r = rb_enc_mbclen(t1, pend, enc));
+ p = t1 + (r = rb_enc_mbclen(t1, pend, enc));
if (p[0] == '-' && p[1] != ']') {
const char *t2 = p + 1;
int r2;