pty and pwd cleanup

This commit is contained in:
auronandace
2026-02-23 08:51:05 +00:00
parent 6f00355741
commit 53912fa029
5 changed files with 24 additions and 22 deletions
+5 -5
View File
@@ -4,12 +4,12 @@ use crate::platform::types::c_char;
pub fn split(line: &mut [u8]) -> Option<passwd> {
let mut parts = line.split_mut(|&c| c == b'\0');
Some(passwd {
pw_name: parts.next()?.as_mut_ptr() as *mut c_char,
pw_passwd: parts.next()?.as_mut_ptr() as *mut c_char,
pw_name: parts.next()?.as_mut_ptr().cast::<c_char>(),
pw_passwd: parts.next()?.as_mut_ptr().cast::<c_char>(),
pw_uid: parsed(parts.next())?,
pw_gid: parsed(parts.next())?,
pw_gecos: parts.next()?.as_mut_ptr() as *mut c_char,
pw_dir: parts.next()?.as_mut_ptr() as *mut c_char,
pw_shell: parts.next()?.as_mut_ptr() as *mut c_char,
pw_gecos: parts.next()?.as_mut_ptr().cast::<c_char>(),
pw_dir: parts.next()?.as_mut_ptr().cast::<c_char>(),
pw_shell: parts.next()?.as_mut_ptr().cast::<c_char>(),
})
}
+3 -3
View File
@@ -278,7 +278,7 @@ pub unsafe extern "C" fn getpwnam_r(
pwd_lookup(
|parts| strcmp(parts.pw_name, name) == 0,
Some(DestBuffer {
ptr: buf as *mut u8,
ptr: buf.cast::<u8>(),
len: size,
}),
),
@@ -305,13 +305,13 @@ pub unsafe extern "C" fn getpwuid_r(
size: size_t,
result: *mut *mut passwd,
) -> c_int {
let slice = unsafe { core::slice::from_raw_parts_mut(buf as *mut u8, size) };
let slice = unsafe { core::slice::from_raw_parts_mut(buf.cast::<u8>(), size) };
unsafe {
mux(
pwd_lookup(
|part| part.pw_uid == uid,
Some(DestBuffer {
ptr: buf as *mut u8,
ptr: buf.cast::<u8>(),
len: size,
}),
),
+5 -5
View File
@@ -4,12 +4,12 @@ use crate::platform::types::c_char;
pub fn split(line: &mut [u8]) -> Option<passwd> {
let mut parts = line.split_mut(|&c| c == b'\0');
Some(passwd {
pw_name: parts.next()?.as_mut_ptr() as *mut c_char,
pw_passwd: "x\0".as_ptr() as *const c_char as *mut c_char,
pw_name: parts.next()?.as_mut_ptr().cast::<c_char>(),
pw_passwd: c"x".as_ptr() as *const c_char as *mut c_char,
pw_uid: parsed(parts.next())?,
pw_gid: parsed(parts.next())?,
pw_gecos: parts.next()?.as_mut_ptr() as *mut c_char,
pw_dir: parts.next()?.as_mut_ptr() as *mut c_char,
pw_shell: parts.next()?.as_mut_ptr() as *mut c_char,
pw_gecos: parts.next()?.as_mut_ptr().cast::<c_char>(),
pw_dir: parts.next()?.as_mut_ptr().cast::<c_char>(),
pw_shell: parts.next()?.as_mut_ptr().cast::<c_char>(),
})
}