@@ -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