From d981b18d0516dcc64e0f1330637275dce3e206ac Mon Sep 17 00:00:00 2001 From: matz Date: Wed, 27 Jul 2005 02:10:56 +0000 Subject: [PATCH] * dir.c (dir_each): rewinddir(3) before iteration. [ruby-talk:149628] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@8843 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 5 +++++ dir.c | 1 + 2 files changed, 6 insertions(+) diff --git a/ChangeLog b/ChangeLog index 86ea82a1bc..6591a69666 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Wed Jul 27 10:59:02 2005 Yukihiro Matsumoto + + * dir.c (dir_each): rewinddir(3) before iteration. + [ruby-talk:149628] + Tue Jul 26 18:11:33 2005 Yukihiro Matsumoto * ruby.h: support LLP64 model. [ruby-talk:149524] diff --git a/dir.c b/dir.c index 4a7025e428..ce0e88b242 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();