]> git.lizzy.rs Git - rust.git/commitdiff
fmt: simplify parse_parameter
authorAndrew Paseltiner <apaseltiner@gmail.com>
Mon, 7 Jan 2013 19:47:06 +0000 (14:47 -0500)
committerAndrew Paseltiner <apaseltiner@gmail.com>
Mon, 7 Jan 2013 22:22:01 +0000 (17:22 -0500)
src/libcore/extfmt.rs

index 5b178e6c82388abc5ccdfd42586a75db4cccf785..e2b290405333e9d577b39141df50d6ef1c5fde4d 100644 (file)
@@ -229,17 +229,11 @@ pub fn parse_conversion(s: &str, i: uint, lim: uint,
     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]> {