mirror of
https://github.com/nushell/nushell.git
synced 2025-08-09 14:45:56 +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,6 +100,8 @@ unsafe fn sysctl_get(
|
|||||||
data: *mut libc::c_void,
|
data: *mut libc::c_void,
|
||||||
data_len: *mut usize,
|
data_len: *mut usize,
|
||||||
) -> i32 {
|
) -> i32 {
|
||||||
|
// Safety: Call to unsafe function `libc::sysctl`
|
||||||
|
unsafe {
|
||||||
sysctl(
|
sysctl(
|
||||||
name,
|
name,
|
||||||
name_len,
|
name_len,
|
||||||
@ -113,6 +115,7 @@ unsafe fn sysctl_get(
|
|||||||
0,
|
0,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
fn get_procs() -> io::Result<Vec<KInfoProc>> {
|
fn get_procs() -> io::Result<Vec<KInfoProc>> {
|
||||||
// To understand what's going on here, see the sysctl(3) and sysctl(7) manpages for NetBSD.
|
// To understand what's going on here, see the sysctl(3) and sysctl(7) manpages for NetBSD.
|
||||||
@ -249,6 +252,8 @@ 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> {
|
||||||
|
// Safety: Call to unsafe function `netbsd::sysctl_get`
|
||||||
|
unsafe {
|
||||||
let mut value: MaybeUninit<T> = MaybeUninit::uninit();
|
let mut value: MaybeUninit<T> = MaybeUninit::uninit();
|
||||||
let mut value_len = mem::size_of_val(&value);
|
let mut value_len = mem::size_of_val(&value);
|
||||||
check(sysctl_get(
|
check(sysctl_get(
|
||||||
@ -259,6 +264,7 @@ unsafe fn get_ctl<T>(ctl_name: &[i32]) -> io::Result<T> {
|
|||||||
))?;
|
))?;
|
||||||
Ok(value.assume_init())
|
Ok(value.assume_init())
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
fn get_pagesize() -> io::Result<libc::c_int> {
|
fn get_pagesize() -> io::Result<libc::c_int> {
|
||||||
// not in libc for some reason
|
// not in libc for some reason
|
||||||
|
Reference in New Issue
Block a user