summaryrefslogtreecommitdiffstats
path: root/dir.c
diff options
context:
space:
mode:
authormatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2005-07-27 02:10:56 +0000
committermatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2005-07-27 02:10:56 +0000
commit879c566aba4972c8a9cd78c8e44d21b36ec40894 (patch)
treecd2b82b88b73074d55973523bb879aac1b49ebdb /dir.c
parent3218d3ee90ce96ac29a606859a07c0a4892f14cf (diff)
downloadruby-879c566aba4972c8a9cd78c8e44d21b36ec40894.tar.gz
ruby-879c566aba4972c8a9cd78c8e44d21b36ec40894.tar.xz
ruby-879c566aba4972c8a9cd78c8e44d21b36ec40894.zip
* dir.c (dir_each): rewinddir(3) before iteration.
[ruby-talk:149628] git-svn-id: http://svn.ruby-lang.org/repos/ruby/branches/ruby_1_8@8843 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'dir.c')
-rw-r--r--dir.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/dir.c b/dir.c
index 4a7025e42..ce0e88b24 100644
--- a/dir.c
+++ b/dir.c
@@ -409,6 +409,7 @@ dir_each(dir)
struct dirent *dp;
GetDIR(dir, dirp);
+ rewinddir(dirp->dir);
for (dp = readdir(dirp->dir); dp != NULL; dp = readdir(dirp->dir)) {
rb_yield(rb_tainted_str_new(dp->d_name, NAMLEN(dp)));
if (dirp->dir == NULL) dir_closed();