summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoreban <eban@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2001-03-13 07:58:07 +0000
committereban <eban@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2001-03-13 07:58:07 +0000
commit7b85e0ea9e23f0f55b4f518002571c1fdeaaa38b (patch)
tree7a475fb0b272289a221e164aaae14989292afb3d
parentb89555ded8465fb4f0e509155020b106be5bbaaf (diff)
downloadruby-7b85e0ea9e23f0f55b4f518002571c1fdeaaa38b.tar.gz
ruby-7b85e0ea9e23f0f55b4f518002571c1fdeaaa38b.tar.xz
ruby-7b85e0ea9e23f0f55b4f518002571c1fdeaaa38b.zip
* dir.c (rb_glob_helper): fix drive letter handling on DOSISH.
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@1249 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog4
-rw-r--r--dir.c10
2 files changed, 13 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 6d22b1346..6823caa55 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+Tue Mar 13 16:39:45 2001 WATANABE Hirofumi <eban@ruby-lang.org>
+
+ * dir.c (rb_glob_helper): fix drive letter handling on DOSISH.
+
Tue Mar 13 14:54:39 2001 Minero Aoki <aamine@dp.u-netsurf.ne.jp>
* lib/net/http.rb: add HTTPRequest#basic_auth.
diff --git a/dir.c b/dir.c
index fb0a6f7a6..87cc64d17 100644
--- a/dir.c
+++ b/dir.c
@@ -534,7 +534,11 @@ extract_path(p, pend)
len = pend - p;
alloc = ALLOC_N(char, len+1);
memcpy(alloc, p, len);
- if (len > 1 && pend[-1] == '/') {
+ if (len > 1 && pend[-1] == '/'
+#if defined DOSISH
+ && len > 2 && pend[-2] != ':'
+#endif
+ ) {
alloc[len-1] = 0;
}
else {
@@ -646,7 +650,11 @@ rb_glob_helper(path, flag, func, arg)
break;
}
+#if defined DOSISH
+#define BASE (*base && !((isdirsep(*base) && !base[1]) || (base[1] == ':' && isdirsep(base[2]) && !base[3])))
+#else
#define BASE (*base && !(*base == '/' && !base[1]))
+#endif
for (dp = readdir(dirp); dp != NULL; dp = readdir(dirp)) {
if (recursive) {