diff --git a/src/argument_parser.rs b/src/argument_parser.rs index 68c206b..7c8d324 100644 --- a/src/argument_parser.rs +++ b/src/argument_parser.rs @@ -10,7 +10,7 @@ pub fn get_output_path(args: &[String]) -> crate::Result<&String> { /// Get `search_paths`, specified by `-L` pub fn get_search_paths(args: &[String]) -> Vec { args.windows(2) - .filter_map(|x| (x[0] == "-L").then(|| PathBuf::from(&x[1]))) + .filter(|&x| (x[0] == "-L")).map(|x| PathBuf::from(&x[1])) .inspect(|path| log::trace!("new search path: {}", path.display())) .collect() } diff --git a/src/main.rs b/src/main.rs index 082e004..3125bba 100644 --- a/src/main.rs +++ b/src/main.rs @@ -325,12 +325,14 @@ fn perform_addition(line: &str) -> u64 { } None => (segment, None), }; + // Parse number let (number, radix) = match number.strip_prefix("0x") { Some(s) => (s, 16), None => (number, 10), }; let length = tryc!(u64::from_str_radix(number, radix)); + // Handle unit let multiplier = match unit { Some('K') => 1024,