diff --git a/src/header/pwd/mod.rs b/src/header/pwd/mod.rs index 055b80cf8b34f67c4e5a42ed6ccd3050bf3c3e62..d983e473545a639806631a2dadbeba3ffb3119b6 100644 --- a/src/header/pwd/mod.rs +++ b/src/header/pwd/mod.rs @@ -1,9 +1,6 @@ //! pwd implementation for relibc -use alloc::{ - boxed::Box, - vec::Vec, -}; +use alloc::{boxed::Box, vec::Vec}; use core::{ ops::{Deref, DerefMut}, pin::Pin, @@ -12,11 +9,7 @@ use core::{ use crate::{ fs::File, - header::{ - errno, - fcntl, - string::strcmp, - }, + header::{errno, fcntl, string::strcmp}, io::{prelude::*, BufReader, SeekFrom}, platform::{self, types::*}, }; @@ -122,9 +115,16 @@ where string.parse().ok() } -fn getpwent_r(reader: &mut BufReader<File>, destination: Option<DestBuffer>) -> Result<OwnedPwd, Cause> { +fn getpwent_r( + reader: &mut BufReader<File>, + destination: Option<DestBuffer>, +) -> Result<OwnedPwd, Cause> { let mut buf = Vec::new(); - if reader.read_until(b'\n', &mut buf).map_err(|_| Cause::Other)? == 0 { + if reader + .read_until(b'\n', &mut buf) + .map_err(|_| Cause::Other)? + == 0 + { return Err(Cause::Eof); } @@ -155,7 +155,7 @@ fn getpwent_r(reader: &mut BufReader<File>, destination: Option<DestBuffer>) -> } new[..buf.len()].copy_from_slice(&buf); new - }, + } }; // Chop up the result into a valid structure @@ -187,21 +187,25 @@ where } } -unsafe fn mux(status: Result<OwnedPwd, Cause>, out: *mut passwd, result: *mut *mut passwd) -> c_int { +unsafe fn mux( + status: Result<OwnedPwd, Cause>, + out: *mut passwd, + result: *mut *mut passwd, +) -> c_int { match status { Ok(owned) => { *out = owned.reference; *result = out; 0 - }, + } Err(Cause::Eof) => { *result = ptr::null_mut(); 0 - }, + } Err(Cause::Other) => { *result = ptr::null_mut(); -1 - }, + } } } @@ -214,10 +218,13 @@ pub unsafe extern "C" fn getpwnam_r( result: *mut *mut passwd, ) -> c_int { mux( - pwd_lookup(|parts| strcmp(parts.pw_name, name) == 0, Some(DestBuffer { - ptr: buf as *mut u8, - len: size, - })), + pwd_lookup( + |parts| strcmp(parts.pw_name, name) == 0, + Some(DestBuffer { + ptr: buf as *mut u8, + len: size, + }), + ), out, result, ) @@ -233,10 +240,13 @@ pub unsafe extern "C" fn getpwuid_r( ) -> c_int { let slice = core::slice::from_raw_parts_mut(buf as *mut u8, size); mux( - pwd_lookup(|part| part.pw_uid == uid, Some(DestBuffer { - ptr: buf as *mut u8, - len: size, - })), + pwd_lookup( + |part| part.pw_uid == uid, + Some(DestBuffer { + ptr: buf as *mut u8, + len: size, + }), + ), out, result, ) diff --git a/src/header/sys_resource/mod.rs b/src/header/sys_resource/mod.rs index 4372ee791fbd532427619a5f60a05c33ef27953c..6bd21605dcc290189b9a44556076c7f1f0c0e016 100644 --- a/src/header/sys_resource/mod.rs +++ b/src/header/sys_resource/mod.rs @@ -1,9 +1,10 @@ //! sys/resource.h implementation for Redox, following //! http://pubs.opengroup.org/onlinepubs/7908799/xsh/sysresource.h.html -use crate::header::sys_time::timeval; -use crate::platform::types::*; -use crate::platform::{Pal, Sys}; +use crate::{ + header::sys_time::timeval, + platform::{types::*, Pal, Sys}, +}; // Exported in bits file // const RUSAGE_SELF: c_int = 0; diff --git a/src/header/time/mod.rs b/src/header/time/mod.rs index 581c300e8777d0ac27ef3cbc8892dcca72928906..1d7b5a18a3508680e2d74e00b766b36d97dae9d8 100644 --- a/src/header/time/mod.rs +++ b/src/header/time/mod.rs @@ -140,12 +140,11 @@ pub unsafe extern "C" fn ctime(clock: *const time_t) -> *mut c_char { #[no_mangle] pub unsafe extern "C" fn ctime_r(clock: *const time_t, buf: *mut c_char) -> *mut c_char { - let mut tm1 : tm = core::mem::uninitialized(); + let mut tm1: tm = core::mem::uninitialized(); localtime_r(clock, &mut tm1); asctime_r(&mut tm1, buf) } - #[no_mangle] pub extern "C" fn difftime(time1: time_t, time0: time_t) -> c_double { (time1 - time0) as c_double diff --git a/src/ld_so/linker.rs b/src/ld_so/linker.rs index 2e61c045b643953896c636f6f68bf375d41dac99..231b187add7a57e46b7123dd01f6c8855e4b869a 100644 --- a/src/ld_so/linker.rs +++ b/src/ld_so/linker.rs @@ -4,11 +4,7 @@ use alloc::{ string::{String, ToString}, vec::Vec, }; -use core::{ - mem, - ptr, - slice -}; +use core::{mem, ptr, slice}; use goblin::{ elf::{program_header, reloc, sym, Elf}, error::{Error, Result}, @@ -133,7 +129,7 @@ impl Linker { let mut elfs = BTreeMap::new(); for (name, data) in self.objects.iter() { // Skip already linked libraries - if ! self.mmaps.contains_key(&*name) { + if !self.mmaps.contains_key(&*name) { elfs.insert(name.as_str(), Elf::parse(&data)?); } } @@ -324,7 +320,10 @@ impl Linker { } else { tcb_master.offset -= tls_offset; tls_offset += vsize; - tls_ranges.insert(elf_name.to_string(), (tcb_masters.len(), tcb_master.range())); + tls_ranges.insert( + elf_name.to_string(), + (tcb_masters.len(), tcb_master.range()), + ); tcb_masters.push(tcb_master); } } diff --git a/src/ld_so/start.rs b/src/ld_so/start.rs index fbc27db84dfc44de7870e950fb59324ec0262375..4a5da627e1cf36e20705beeaef661afab137a3b0 100644 --- a/src/ld_so/start.rs +++ b/src/ld_so/start.rs @@ -1,11 +1,6 @@ // Start code adapted from https://gitlab.redox-os.org/redox-os/relibc/blob/master/src/start.rs -use crate::{ - c_str::CStr, - header::unistd, - platform::types::c_char, - start::Stack, -}; +use crate::{c_str::CStr, header::unistd, platform::types::c_char, start::Stack}; use super::linker::Linker; diff --git a/src/platform/redox/mod.rs b/src/platform/redox/mod.rs index 00af8a08cfe1522f71e7efebde02325e08938859..e9be21afc5d3ba13e6bf58c1d540efdeeec3f10e 100644 --- a/src/platform/redox/mod.rs +++ b/src/platform/redox/mod.rs @@ -559,7 +559,7 @@ impl Pal for Sys { unsafe fn getrlimit(resource: c_int, rlim: *mut rlimit) -> c_int { //TODO - if ! rlim.is_null() { + if !rlim.is_null() { (*rlim).rlim_cur = RLIM_INFINITY; (*rlim).rlim_max = RLIM_INFINITY; }