Skip to content

Commit 0424b24

Browse files
authored
Merge pull request #231 from JRF63/ftw-ls
Port ls to ftw
2 parents 592f940 + d9dc7e4 commit 0424b24

File tree

9 files changed

+738
-478
lines changed

9 files changed

+738
-478
lines changed

ftw/src/dir.rs

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -80,14 +80,17 @@ impl OwnedDir {
8080
dir_file_descriptor: &FileDescriptor,
8181
filename: *const libc::c_char,
8282
) -> Result<Self, Error> {
83-
let file_descriptor =
84-
FileDescriptor::open_at(dir_file_descriptor, filename, libc::O_RDONLY)
85-
.map_err(|e| Error::new(e, ErrorKind::Open))?;
83+
let file_descriptor = FileDescriptor::open_at(
84+
dir_file_descriptor,
85+
unsafe { CStr::from_ptr(filename) },
86+
libc::O_RDONLY,
87+
)
88+
.map_err(|e| Error::new(e, ErrorKind::Open))?;
8689
let dir = OwnedDir::new(file_descriptor).map_err(|e| Error::new(e, ErrorKind::OpenDir))?;
8790
Ok(dir)
8891
}
8992

90-
pub fn iter<'a>(&'a self) -> OwnedDirIterator<'a> {
93+
pub fn iter(&self) -> OwnedDirIterator {
9194
OwnedDirIterator {
9295
dirp: self.dirp,
9396
phantom: PhantomData,
@@ -150,7 +153,7 @@ impl DeferredDir {
150153
}
151154
}
152155

153-
pub fn iter<'a>(&'a self) -> DeferredDirIterator<'a> {
156+
pub fn iter(&self) -> DeferredDirIterator {
154157
let file_descriptor = self.open_file_descriptor();
155158
let dir = OwnedDir::new(file_descriptor).unwrap();
156159
let dirp = dir.dirp;
@@ -177,7 +180,7 @@ impl DeferredDir {
177180

178181
let filename_cstr = CString::new(components.as_path().as_os_str().as_bytes()).unwrap();
179182

180-
FileDescriptor::open_at(&starting_dir, filename_cstr.as_ptr(), libc::O_RDONLY).unwrap()
183+
FileDescriptor::open_at(&starting_dir, &filename_cstr, libc::O_RDONLY).unwrap()
181184
}
182185

183186
pub fn parent(&self) -> &Rc<(FileDescriptor, PathBuf)> {

0 commit comments

Comments
 (0)