mirror of
https://github.com/nushell/nushell.git
synced 2025-08-09 08:45:45 +02:00
- this PR should close #16261 - fixes #16261 Confirmed to build with Rust-1.86 and to yield a working binary.
This commit is contained in:
@ -100,18 +100,21 @@ unsafe fn sysctl_get(
|
|||||||
data: *mut libc::c_void,
|
data: *mut libc::c_void,
|
||||||
data_len: *mut usize,
|
data_len: *mut usize,
|
||||||
) -> i32 {
|
) -> i32 {
|
||||||
sysctl(
|
// Safety: Call to unsafe function `libc::sysctl`
|
||||||
name,
|
unsafe {
|
||||||
name_len,
|
sysctl(
|
||||||
data,
|
name,
|
||||||
data_len,
|
name_len,
|
||||||
// NetBSD and OpenBSD differ in mutability for this pointer, but it's null anyway
|
data,
|
||||||
#[cfg(target_os = "netbsd")]
|
data_len,
|
||||||
ptr::null(),
|
// NetBSD and OpenBSD differ in mutability for this pointer, but it's null anyway
|
||||||
#[cfg(target_os = "openbsd")]
|
#[cfg(target_os = "netbsd")]
|
||||||
ptr::null_mut(),
|
ptr::null(),
|
||||||
0,
|
#[cfg(target_os = "openbsd")]
|
||||||
)
|
ptr::null_mut(),
|
||||||
|
0,
|
||||||
|
)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fn get_procs() -> io::Result<Vec<KInfoProc>> {
|
fn get_procs() -> io::Result<Vec<KInfoProc>> {
|
||||||
@ -249,15 +252,18 @@ fn get_proc_args(pid: i32, what: i32) -> io::Result<Vec<u8>> {
|
|||||||
|
|
||||||
// For getting simple values from the sysctl interface
|
// For getting simple values from the sysctl interface
|
||||||
unsafe fn get_ctl<T>(ctl_name: &[i32]) -> io::Result<T> {
|
unsafe fn get_ctl<T>(ctl_name: &[i32]) -> io::Result<T> {
|
||||||
let mut value: MaybeUninit<T> = MaybeUninit::uninit();
|
// Safety: Call to unsafe function `netbsd::sysctl_get`
|
||||||
let mut value_len = mem::size_of_val(&value);
|
unsafe {
|
||||||
check(sysctl_get(
|
let mut value: MaybeUninit<T> = MaybeUninit::uninit();
|
||||||
ctl_name.as_ptr(),
|
let mut value_len = mem::size_of_val(&value);
|
||||||
ctl_name.len() as u32,
|
check(sysctl_get(
|
||||||
value.as_mut_ptr() as *mut libc::c_void,
|
ctl_name.as_ptr(),
|
||||||
&mut value_len,
|
ctl_name.len() as u32,
|
||||||
))?;
|
value.as_mut_ptr() as *mut libc::c_void,
|
||||||
Ok(value.assume_init())
|
&mut value_len,
|
||||||
|
))?;
|
||||||
|
Ok(value.assume_init())
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fn get_pagesize() -> io::Result<libc::c_int> {
|
fn get_pagesize() -> io::Result<libc::c_int> {
|
||||||
|
Reference in New Issue
Block a user