diff --git a/src/scheme/sys/syscall.rs b/src/scheme/sys/syscall.rs index 06cb9738214ca91c216710131446e7f8a0f8a963..8271829673ceabb68509d2f0903066ebb980bf26 100644 --- a/src/scheme/sys/syscall.rs +++ b/src/scheme/sys/syscall.rs @@ -26,14 +26,7 @@ pub fn resource() -> Result<Vec<u8>> { let _ = writeln!(string, "{}: {}", id, name); if let Some((a, b, c, d, e, f)) = row.2 { - match syscall::debug::format_call(a, b, c, d, e, f) { - Ok(data) => { - let _ = writeln!(string, " {}", data); - }, - Err(err) => { - let _ = writeln!(string, " error: {}", err); - } - }; + let _ = writeln!(string, " {}", syscall::debug::format_call(a, b, c, d, e, f)); } } } diff --git a/src/syscall/debug.rs b/src/syscall/debug.rs index dfe0cdaba11723befd41d3a5061b1ea0b7859a3b..520956d8e67233f6b27f18fdc83ea96100ce4a3d 100644 --- a/src/syscall/debug.rs +++ b/src/syscall/debug.rs @@ -3,7 +3,6 @@ use core::ops::Range; use alloc::{String, Vec}; use super::data::{Stat, TimeSpec}; -use super::error::Result; use super::flag::*; use super::number::*; use super::validate::*; @@ -58,8 +57,8 @@ impl<'a> ::core::fmt::Debug for ByteStr<'a> { } -pub fn format_call(a: usize, b: usize, c: usize, d: usize, e: usize, f: usize) -> Result<String> { - Ok(match a { +pub fn format_call(a: usize, b: usize, c: usize, d: usize, e: usize, f: usize) -> String { + match a { SYS_OPEN => format!( "open({:?}, {:#X})", validate_slice(b as *const u8, c).map(ByteStr), @@ -199,12 +198,12 @@ pub fn format_call(a: usize, b: usize, c: usize, d: usize, e: usize, f: usize) - validate_slice( d as *const [usize; 2], e - )? - .iter() - .map(|a| - validate_slice(a[0] as *const u8, a[1]).ok() - .and_then(|s| ::core::str::from_utf8(s).ok()) - ).collect::<Vec<Option<&str>>>() + ).map(|slice| { + slice.iter().map(|a| + validate_slice(a[0] as *const u8, a[1]).ok() + .and_then(|s| ::core::str::from_utf8(s).ok()) + ).collect::<Vec<Option<&str>>>() + }) ), SYS_EXIT => format!( "exit({})", @@ -317,5 +316,5 @@ pub fn format_call(a: usize, b: usize, c: usize, d: usize, e: usize, f: usize) - e, f ) - }) + } }