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