From 143fddd83f1fc93c070e36bf31906d2631c68f97 Mon Sep 17 00:00:00 2001 From: Lakelezz <12222135+Lakelezz@users.noreply.github.com> Date: Mon, 18 Dec 2017 22:23:07 +0100 Subject: Actually fix `Args`'s `parse` and add a few tests (#236) --- src/framework/standard/args.rs | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) (limited to 'src/framework') diff --git a/src/framework/standard/args.rs b/src/framework/standard/args.rs index 1076507..e940f8c 100644 --- a/src/framework/standard/args.rs +++ b/src/framework/standard/args.rs @@ -79,15 +79,10 @@ fn parse(s: &mut String, delimiter: &str) -> Result where T::Err: StdError { let mut pos = s.find(delimiter).unwrap_or_else(|| s.len()); - let res = (&s[..pos]).parse::().map_err(Error::Parse); - // First find out whether the delimiter is 2 chars or longer, - // if so add those extras to the position. - // Otherwise just add `1` for 1 char delimiters. - if delimiter.len() > 1 { + + if pos < s.len() { pos += delimiter.len(); - } else if pos < s.len() { - pos += 1; } s.drain(..pos); @@ -214,7 +209,7 @@ impl Args { pub fn full(&self) -> &str { &self.message } /// The amount of args. - /// + /// /// # Examples /// /// ```rust -- cgit v1.2.3