diff --git a/src/header/elf/mod.rs b/src/header/elf/mod.rs index 363a9e02c5..6fff4c5f9c 100644 --- a/src/header/elf/mod.rs +++ b/src/header/elf/mod.rs @@ -77,7 +77,7 @@ pub const EI_MAG2: usize = 2; pub const ELFMAG2: c_char = 'L' as c_char; pub const EI_MAG3: usize = 3; pub const ELFMAG3: c_char = 'F' as c_char; -pub const ELFMAG: &'static str = "\x7fELF"; +pub const ELFMAG: &str = "\x7fELF"; pub const SELFMAG: usize = 4; pub const EI_CLASS: usize = 4; pub const ELFCLASSNONE: usize = 0; @@ -774,8 +774,8 @@ pub struct Elf64_Nhdr { pub n_type: Elf64_Word, } -pub const ELF_NOTE_SOLARIS: &'static str = "SUNW Solaris"; -pub const ELF_NOTE_GNU: &'static str = "GNU"; +pub const ELF_NOTE_SOLARIS: &str = "SUNW Solaris"; +pub const ELF_NOTE_GNU: &str = "GNU"; pub const ELF_NOTE_PAGESIZE_HINT: usize = 1; diff --git a/src/header/glob/mod.rs b/src/header/glob/mod.rs index 72e5010d5f..1b5d297ee0 100644 --- a/src/header/glob/mod.rs +++ b/src/header/glob/mod.rs @@ -80,7 +80,7 @@ pub unsafe extern "C" fn glob( } let base_path = unsafe { - CStr::from_bytes_with_nul_unchecked(if glob_expr.to_bytes().get(0) == Some(&b'/') { + CStr::from_bytes_with_nul_unchecked(if glob_expr.to_bytes().first() == Some(&b'/') { b"/\0" } else { b"\0" @@ -125,7 +125,7 @@ pub unsafe extern "C" fn glob( let mut pathv: Box>; if flags & GLOB_APPEND == GLOB_APPEND { - pathv = unsafe { Box::from_raw((*pglob).__opaque as *mut _) }; + pathv = unsafe { Box::from_raw((*pglob).__opaque.cast()) }; pathv.pop(); // Remove NULL from end } else { pathv = Box::new(Vec::new()); @@ -144,8 +144,8 @@ pub unsafe extern "C" fn glob( pathv.push(ptr::null_mut()); unsafe { - (*pglob).gl_pathv = pathv.as_ptr() as *mut *mut c_char; - (*pglob).__opaque = Box::into_raw(pathv) as *mut _; + (*pglob).gl_pathv = pathv.as_ptr().cast_mut(); + (*pglob).__opaque = Box::into_raw(pathv).cast(); } 0 @@ -157,7 +157,7 @@ pub unsafe extern "C" fn glob( pub unsafe extern "C" fn globfree(pglob: *mut glob_t) { // Retake ownership if unsafe { !(*pglob).__opaque.is_null() } { - let pathv: Box> = unsafe { Box::from_raw((*pglob).__opaque as *mut _) }; + let pathv: Box> = unsafe { Box::from_raw((*pglob).__opaque.cast()) }; for (idx, path) in pathv.into_iter().enumerate() { if unsafe { idx < (*pglob).gl_offs } { continue; @@ -195,7 +195,7 @@ fn list_dir( let old_errno = platform::ERRNO.get(); let mut results: Vec = Vec::new(); - let open_path = if path.to_bytes().len() == 0 { + let open_path = if path.to_bytes().is_empty() { unsafe { &CStr::from_bytes_with_nul_unchecked(b".\0") } } else { path @@ -241,13 +241,13 @@ fn list_dir( let mut link_info = stat::default(); if stat( - full_path.as_ptr() as *const c_char, - &mut link_info as *mut _, + full_path.as_ptr().cast::(), + ptr::from_mut(&mut link_info), ) != 0 { let errno = platform::ERRNO.get(); platform::ERRNO.set(old_errno); - if errfunc(full_path.as_ptr() as *const c_char, errno) != 0 || abort_on_error { + if errfunc(full_path.as_ptr().cast::(), errno) != 0 || abort_on_error { return Err(GLOB_ABORTED); } } @@ -288,7 +288,7 @@ fn inner_glob( // Remove any '/' chars at the start of the expression let glob_expr = { let mut expr = glob_expr.to_bytes_with_nul(); - while expr.get(0) == Some(&b'/') { + while expr.first() == Some(&b'/') { expr = &expr[1..]; } unsafe { CStr::from_bytes_with_nul_unchecked(expr) } @@ -353,7 +353,7 @@ fn inner_glob( for entry in list_dir(current_dir, errfunc, flags & GLOB_ERR == GLOB_ERR)? { // If we still have pattern to match ignore non-directories - if new_glob_expr.to_bytes().len() != 0 && !entry.is_dir { + if !new_glob_expr.to_bytes().is_empty() && !entry.is_dir { continue; } @@ -373,7 +373,7 @@ fn inner_glob( if unsafe { fnmatch( - pattern.as_ptr() as *const c_char, + pattern.as_ptr().cast::(), entry.name.as_ptr(), fnmatch_flags, ) @@ -389,15 +389,15 @@ fn inner_glob( } // It is an error if we don't find a directory when we expect one - if matches.len() == 0 && new_glob_expr.to_bytes().len() != 0 { + if matches.is_empty() && !new_glob_expr.to_bytes().is_empty() { let mut path = current_dir.to_bytes().to_vec(); path.extend_from_slice(&pattern); - if unsafe { errfunc(path.as_ptr() as *const c_char, ENOENT) } != 0 + if unsafe { errfunc(path.as_ptr().cast::(), ENOENT) } != 0 || flags & GLOB_ERR == GLOB_ERR { return Err(GLOB_ABORTED); } } - return Ok(matches); + Ok(matches) }