@@ -1585,33 +1585,31 @@ impl<'a, 'b> Parser<'a, 'b>
1585
1585
where A : AnyArg < ' a , ' b > + Display
1586
1586
{
1587
1587
debugln ! ( "Parser::add_val_to_arg; arg={}, val={:?}" , arg. name( ) , val) ;
1588
- let ret;
1589
1588
debugln ! ( "Parser::add_val_to_arg; trailing_vals={:?}, DontDelimTrailingVals={:?}" ,
1590
1589
self . is_set( AS :: TrailingValues ) ,
1591
1590
self . is_set( AS :: DontDelimitTrailingValues ) ) ;
1592
1591
if !( self . is_set ( AS :: TrailingValues ) && self . is_set ( AS :: DontDelimitTrailingValues ) ) {
1593
1592
if let Some ( delim) = arg. val_delim ( ) {
1594
- let mut iret = ParseResult :: ValuesDone ;
1595
1593
if val. is_empty_ ( ) {
1596
- iret = try!( self . add_single_val_to_arg ( arg, val, matcher) ) ;
1594
+ Ok ( try!( self . add_single_val_to_arg ( arg, val, matcher) ) )
1597
1595
} else {
1596
+ let mut iret = ParseResult :: ValuesDone ;
1598
1597
for v in val. split ( delim as u32 as u8 ) {
1599
1598
iret = try!( self . add_single_val_to_arg ( arg, v, matcher) ) ;
1600
1599
}
1601
1600
// If there was a delimiter used, we're not looking for more values
1602
1601
if val. contains_byte ( delim as u32 as u8 ) ||
1603
- arg. is_set ( ArgSettings :: RequireDelimiter ) {
1604
- iret = ParseResult :: ValuesDone ;
1605
- }
1602
+ arg. is_set ( ArgSettings :: RequireDelimiter ) {
1603
+ iret = ParseResult :: ValuesDone ;
1604
+ }
1605
+ Ok ( iret)
1606
1606
}
1607
- ret = Ok ( iret) ;
1608
1607
} else {
1609
- ret = self . add_single_val_to_arg ( arg, val, matcher) ;
1608
+ self . add_single_val_to_arg ( arg, val, matcher)
1610
1609
}
1611
1610
} else {
1612
- ret = self . add_single_val_to_arg ( arg, val, matcher) ;
1611
+ self . add_single_val_to_arg ( arg, val, matcher)
1613
1612
}
1614
- ret
1615
1613
}
1616
1614
1617
1615
fn add_single_val_to_arg < A > ( & self ,
0 commit comments