From 7ebda2de44a2355e058c3a11e124bc776387936b Mon Sep 17 00:00:00 2001 From: Bulat Musin Date: Wed, 3 Jan 2018 18:11:42 +0300 Subject: [PATCH] echo: rewrite two functions as closures --- src/echo/echo.rs | 23 +++-------------------- 1 file changed, 3 insertions(+), 20 deletions(-) diff --git a/src/echo/echo.rs b/src/echo/echo.rs index 15fd51335..9e61a33a0 100644 --- a/src/echo/echo.rs +++ b/src/echo/echo.rs @@ -47,27 +47,10 @@ fn to_char(bytes: &[u8], base: u32) -> char { usize::from_str_radix(from_utf8(bytes.as_ref()).unwrap(), base).unwrap() as u8 as char } -#[inline(always)] -fn isxdigit(c: u8) -> bool { - match c as char { - '0' | '1' | '2' | '3' | '4' | '5' | '6' | '7' | - '8' | '9' | 'A' | 'B' | 'C' | 'D' | 'E' | 'F' => true, - _ => false - } -} - -#[inline(always)] -fn isodigit(c: u8) -> bool { - match c as char { - '0' | '1' | '2' | '3' | '4' | '5' | '6' | '7' => true, - _ => false - } -} - fn convert_str(string: &[u8], index: usize, base: u32) -> (char, usize) { let (max_digits, is_legal_digit) : (usize, fn(u8) -> bool) = match base { - 8 => (3, isodigit), - 16 => (2, isxdigit), + 8 => (3, |c| { (c as char).is_digit(8) }), + 16 => (2, |c| { (c as char).is_digit(16) }), _ => panic!(), }; @@ -175,7 +158,7 @@ pub fn uumain(args: Vec) -> i32 { if options.newline { return_if_err!(1, stdout().flush()) } else { - println!("") + println!() } 0