Expand Out wrapper and use it in utsname.
This commit is contained in:
@@ -2,12 +2,14 @@
|
||||
|
||||
use crate::{
|
||||
error::ResultExt,
|
||||
out::Out,
|
||||
platform::{Pal, Sys, types::*},
|
||||
};
|
||||
|
||||
pub const UTSLENGTH: usize = 65;
|
||||
|
||||
#[repr(C)]
|
||||
#[derive(Clone, Copy, Debug, OutProject)]
|
||||
pub struct utsname {
|
||||
pub sysname: [c_char; UTSLENGTH],
|
||||
pub nodename: [c_char; UTSLENGTH],
|
||||
@@ -19,5 +21,7 @@ pub struct utsname {
|
||||
|
||||
#[unsafe(no_mangle)]
|
||||
pub unsafe extern "C" fn uname(uts: *mut utsname) -> c_int {
|
||||
Sys::uname(uts).map(|()| 0).or_minus_one_errno()
|
||||
Sys::uname(Out::nonnull(uts))
|
||||
.map(|()| 0)
|
||||
.or_minus_one_errno()
|
||||
}
|
||||
|
||||
@@ -563,7 +563,7 @@ pub extern "C" fn gethostid() -> c_long {
|
||||
pub unsafe extern "C" fn gethostname(mut name: *mut c_char, mut len: size_t) -> c_int {
|
||||
let mut uts = mem::MaybeUninit::<sys_utsname::utsname>::uninit();
|
||||
// TODO
|
||||
let err = Sys::uname(uts.as_mut_ptr())
|
||||
let err = Sys::uname(Out::from_uninit_mut(&mut uts))
|
||||
.map(|()| 0)
|
||||
.or_minus_one_errno();
|
||||
if err < 0 {
|
||||
|
||||
Reference in New Issue
Block a user