about summary refs log tree commit diff
diff options
context:
space:
mode:
authorAndrew Paseltiner <apaseltiner@gmail.com>2013-01-07 14:47:06 -0500
committerAndrew Paseltiner <apaseltiner@gmail.com>2013-01-07 17:22:01 -0500
commitaf298deff7141c3b8b95acb94ef2145d2ef9adc0 (patch)
treea62a17deb2f921ff847b07da62fc85e253180249
parent4550cb05626a1b982560710d6757145049cca247 (diff)
downloadrust-af298deff7141c3b8b95acb94ef2145d2ef9adc0.tar.gz
rust-af298deff7141c3b8b95acb94ef2145d2ef9adc0.zip
fmt: simplify parse_parameter
-rw-r--r--src/libcore/extfmt.rs16
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]> {