From af298deff7141c3b8b95acb94ef2145d2ef9adc0 Mon Sep 17 00:00:00 2001 From: Andrew Paseltiner Date: Mon, 7 Jan 2013 14:47:06 -0500 Subject: [PATCH] fmt: simplify parse_parameter --- src/libcore/extfmt.rs | 16 +++++----------- 1 file changed, 5 insertions(+), 11 deletions(-) diff --git a/src/libcore/extfmt.rs b/src/libcore/extfmt.rs index 5b178e6c823..e2b29040533 100644 --- a/src/libcore/extfmt.rs +++ b/src/libcore/extfmt.rs @@ -229,17 +229,11 @@ pub mod ct { pub fn parse_parameter(s: &str, i: uint, lim: uint) -> Parsed> { if i >= lim { return Parsed::new(None, i); } - let num = peek_num(s, i, lim); - return match num { - None => Parsed::new(None, i), - Some(t) => { - let n = t.val; - let j = t.next; - if j < lim && s[j] == '$' as u8 { - Parsed::new(Some(n), j + 1) - } else { Parsed::new(None, i) } - } - }; + match peek_num(s, i, lim) { + Some(num) if num.next < lim && s[num.next] == '$' as u8 => + Parsed::new(Some(num.val), num.next + 1), + _ => Parsed::new(None, i) + } } pub fn parse_flags(s: &str, i: uint, lim: uint) -> Parsed<~[Flag]> {