From ec100d5af8d87debce9b0985e1754eb2a2d628eb Mon Sep 17 00:00:00 2001 From: auronandace Date: Sun, 22 Feb 2026 14:14:58 +0000 Subject: [PATCH] dirent and fnmatch cleanup --- src/header/dirent/mod.rs | 20 ++++++++++---------- src/header/fnmatch/mod.rs | 4 ++-- src/io/mod.rs | 7 ++----- 3 files changed, 14 insertions(+), 17 deletions(-) diff --git a/src/header/dirent/mod.rs b/src/header/dirent/mod.rs index 1cf62e6a04..0a9ad6cd49 100644 --- a/src/header/dirent/mod.rs +++ b/src/header/dirent/mod.rs @@ -238,7 +238,7 @@ pub extern "C" fn posix_getdents( nbyte: size_t, _flags: c_int, ) -> ssize_t { - let slice = unsafe { slice::from_raw_parts_mut(buf as *mut u8, nbyte) }; + let slice = unsafe { slice::from_raw_parts_mut(buf.cast::(), nbyte) }; Sys::posix_getdents(fildes, slice) .map(|s| s as ssize_t) @@ -299,18 +299,18 @@ pub unsafe extern "C" fn scandir( break; } - if let Some(filter) = filter { - if filter(entry) == 0 { - continue; - } + if let Some(filter) = filter + && filter(entry) == 0 + { + continue; } - let copy = unsafe { platform::alloc(mem::size_of::()) } as *mut dirent; + let copy = unsafe { platform::alloc(mem::size_of::()) }.cast::(); if copy.is_null() { break; } unsafe { ptr::write(copy, (*entry).clone()) }; - if let Err(_) = vec.push(copy) { + if vec.push(copy).is_err() { break; } } @@ -318,13 +318,13 @@ pub unsafe extern "C" fn scandir( closedir(unsafe { Box::from_raw(dir) }); let len = vec.len(); - if let Err(_) = vec.shrink_to_fit() { + if vec.shrink_to_fit().is_err() { return -1; } if platform::ERRNO.get() != 0 { for ptr in &mut vec { - unsafe { platform::free(*ptr as *mut c_void) }; + unsafe { platform::free((*ptr).cast::()) }; } -1 } else { @@ -340,7 +340,7 @@ pub unsafe extern "C" fn scandir( platform::ERRNO.set(old_errno); unsafe { stdlib::qsort( - *namelist as *mut c_void, + (*namelist).cast::(), len as size_t, mem::size_of::<*mut dirent>(), mem::transmute(compare), diff --git a/src/header/fnmatch/mod.rs b/src/header/fnmatch/mod.rs index 60f6316d2c..eb856a08c0 100644 --- a/src/header/fnmatch/mod.rs +++ b/src/header/fnmatch/mod.rs @@ -136,9 +136,9 @@ pub unsafe extern "C" fn fnmatch( while unsafe { *input.offset(len) != 0 } { len += 1; } - let input = unsafe { slice::from_raw_parts(input as *const u8, len as usize) }; + let input = unsafe { slice::from_raw_parts(input.cast::(), len as usize) }; - let tokens = unsafe { tokenize(pattern as *const u8, flags) }; + let tokens = unsafe { tokenize(pattern.cast::(), flags) }; if PosixRegex::new(Cow::Owned(tokens)) .case_insensitive(flags & FNM_CASEFOLD == FNM_CASEFOLD) diff --git a/src/io/mod.rs b/src/io/mod.rs index e995424164..bbd7a3b239 100644 --- a/src/io/mod.rs +++ b/src/io/mod.rs @@ -365,7 +365,7 @@ fn read_to_end_with_reservation( let start_len = buf.len(); let mut g = Guard { len: buf.len(), - buf: buf, + buf, }; let ret; loop { @@ -916,10 +916,7 @@ pub trait Read { where Self: Sized, { - Take { - inner: self, - limit: limit, - } + Take { inner: self, limit } } }