From 1f99d038c45cd9f2e72821a9601087bbf0e912ef Mon Sep 17 00:00:00 2001 From: Jeremy Soller <jackpot51@gmail.com> Date: Sun, 29 Oct 2017 15:31:35 -0600 Subject: [PATCH] Make debug function never return error --- src/scheme/sys/syscall.rs | 9 +-------- src/syscall/debug.rs | 19 +++++++++---------- 2 files changed, 10 insertions(+), 18 deletions(-) diff --git a/src/scheme/sys/syscall.rs b/src/scheme/sys/syscall.rs index 06cb9738..82718296 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 dfe0cdab..520956d8 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 ) - }) + } } -- GitLab