diff options
| author | Kevin Cantu <me@kevincantu.org> | 2012-02-11 03:20:45 -0800 |
|---|---|---|
| committer | Kevin Cantu <me@kevincantu.org> | 2012-02-11 16:39:39 -0800 |
| commit | 27161f4415e484680cf404b9819bf37d66c26783 (patch) | |
| tree | 95d6b672323ae58ecac7bd2adea14a2b4391beb6 /src/libstd | |
| parent | 14baf88f89241f1384e4d12b4751910fe16c947c (diff) | |
| download | rust-27161f4415e484680cf404b9819bf37d66c26783.tar.gz rust-27161f4415e484680cf404b9819bf37d66c26783.zip | |
using str::index...
Diffstat (limited to 'src/libstd')
| -rw-r--r-- | src/libstd/getopts.rs | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/src/libstd/getopts.rs b/src/libstd/getopts.rs index 33674fe67f3..8288501defc 100644 --- a/src/libstd/getopts.rs +++ b/src/libstd/getopts.rs @@ -230,16 +230,14 @@ fn getopts(args: [str], opts: [opt]) -> result unsafe { let i_arg = option::none::<str>; if cur[1] == '-' as u8 { let tail = str::unsafe::slice_bytes(cur, 2u, curlen); - let eq = str::index_byte(tail, '=' as u8); - if eq == -1 { + let tail_eq = str::splitn_char(tail, '=', 1u); + if vec::len(tail_eq) <= 1u { names = [long(tail)]; } else { names = - [long(str::unsafe::slice_bytes(tail,0u,eq as uint))]; + [long(tail_eq[0])]; i_arg = - option::some::<str>(str::unsafe::slice_bytes(tail, - (eq as uint) + 1u, - curlen - 2u)); + option::some::<str>(tail_eq[1]); } } else { let j = 1u; |
