summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2003-08-18 02:23:13 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2003-08-18 02:23:13 +0000
commit80713587b4b618f376d51c8440474d471d2e23ec (patch)
tree588d080db9a798dfaed1cae5ffd8184e932699cc
parentc5d8b530bedd514664b662f2babd5a0f4f6b0832 (diff)
downloadruby-80713587b4b618f376d51c8440474d471d2e23ec.tar.gz
ruby-80713587b4b618f376d51c8440474d471d2e23ec.tar.xz
ruby-80713587b4b618f376d51c8440474d471d2e23ec.zip
* dir.c (glob_helper): preserve raw order for **.
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@4403 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog4
-rw-r--r--dir.c7
2 files changed, 8 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index a3c5cd0b8..a50c34529 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+Mon Aug 18 11:23:11 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * dir.c (glob_helper): preserve raw order for **.
+
Sun Aug 17 23:39:55 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
* ext/openssl/extconf.rb (HAVE_VA_ARGS_MACRO): need to compile.
diff --git a/dir.c b/dir.c
index 7a188cacb..b31096f51 100644
--- a/dir.c
+++ b/dir.c
@@ -731,7 +731,7 @@ glob_helper(path, sub, flags, func, arg)
struct d_link {
char *path;
struct d_link *next;
- } *tmp, *link = 0;
+ } *tmp, *link, **tail = &link;
base = extract_path(path, p);
if (path == p) dir = ".";
@@ -808,12 +808,13 @@ glob_helper(path, sub, flags, func, arg)
}
tmp = ALLOC(struct d_link);
tmp->path = buf;
- tmp->next = link;
- link = tmp;
+ *tail = tmp;
+ tail = &tmp->next;
}
}
closedir(dirp);
finalize:
+ *tail = 0;
free(base);
free(magic);
if (link) {