From 44175158a2d9b091b06944a35ef42d747472651d Mon Sep 17 00:00:00 2001 From: ocean Date: Mon, 8 Mar 2004 06:32:40 +0000 Subject: * dir.c (range): treat incomplete '[' as ordinary character (like has_magic does). git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@5922 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 5 +++++ dir.c | 5 +++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index 2e16b48b6a..12e2477a99 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Mon Mar 8 15:31:41 Hirokazu Yamamoto + + * dir.c (range): treat incomplete '[' as ordinary character (like + has_magic does). + Sun Mar 7 22:37:46 2004 Masatoshi SEKI * test/drb/ut_drb.rb: use 'druby://localhost:0'. [ruby-dev:23078] diff --git a/dir.c b/dir.c index b26eda4c38..48e93ca9e6 100644 --- a/dir.c +++ b/dir.c @@ -97,6 +97,7 @@ range(pat, test, flags) char test; int flags; { + char *first = pat; int not, ok = 0; int nocase = flags & FNM_CASEFOLD; int escape = !(flags & FNM_NOESCAPE); @@ -119,13 +120,13 @@ range(pat, test, flags) pat++; cend = pat[1]; if (!cend) - return 0; + break; pat += 2; } if (downcase(cstart) <= test && test <= downcase(cend)) ok = 1; } - return 0; + return test == '[' ? first : 0; } #define ISDIRSEP(c) (pathname && isdirsep(c)) -- cgit v1.2.3