aboutsummaryrefslogtreecommitdiff
path: root/src/lib/posix_fs.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/posix_fs.rs')
-rw-r--r--src/lib/posix_fs.rs5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/lib/posix_fs.rs b/src/lib/posix_fs.rs
index 676d4150..0a37f85d 100644
--- a/src/lib/posix_fs.rs
+++ b/src/lib/posix_fs.rs
@@ -9,7 +9,10 @@ impure fn list_dir(str path) -> vec[str] {
let vec[str] result = vec();
while (true) {
auto ent = os.libc.readdir(dir);
- if (ent as int == 0) {break;}
+ if (ent as int == 0) {
+ os.libc.closedir(dir);
+ ret result;
+ }
_vec.push[str](result, rustrt.rust_dirent_filename(ent));
}
os.libc.closedir(dir);