diff options
| author | Andrew Paseltiner <apaseltiner@gmail.com> | 2013-01-07 14:47:06 -0500 |
|---|---|---|
| committer | Andrew Paseltiner <apaseltiner@gmail.com> | 2013-01-07 17:22:01 -0500 |
| commit | af298deff7141c3b8b95acb94ef2145d2ef9adc0 (patch) | |
| tree | a62a17deb2f921ff847b07da62fc85e253180249 | |
| parent | 4550cb05626a1b982560710d6757145049cca247 (diff) | |
| download | rust-af298deff7141c3b8b95acb94ef2145d2ef9adc0.tar.gz rust-af298deff7141c3b8b95acb94ef2145d2ef9adc0.zip | |
fmt: simplify parse_parameter
| -rw-r--r-- | src/libcore/extfmt.rs | 16 |
1 files 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<Option<uint>> { 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]> { |
