From cffe9f4085cf28e9a1e62346cfb31ed0470a49ff Mon Sep 17 00:00:00 2001 From: Melody Horn Date: Tue, 6 Apr 2021 15:30:47 -0600 Subject: appease our wire lord and savior --- src/makefile/functions.rs | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'src/makefile/functions.rs') diff --git a/src/makefile/functions.rs b/src/makefile/functions.rs index a16c268..e6efd1c 100644 --- a/src/makefile/functions.rs +++ b/src/makefile/functions.rs @@ -219,7 +219,11 @@ mod text { let n = macros.expand(n)?; let n: usize = n.parse().wrap_err("while calling `word`")?; let text = macros.expand(text)?; - Ok(text.split_whitespace().nth(n + 1).unwrap_or("").to_owned()) + Ok(text + .split_whitespace() + .nth(n.saturating_add(1)) + .unwrap_or("") + .to_owned()) } pub fn words(macros: &MacroSet, words: &TokenString) -> Result { @@ -655,7 +659,7 @@ mod test { &[ TokenString::text(""), TokenString::text("yeet"), - "$(error fail)".parse().unwrap() + "$(error fail)".parse()? ], &MacroSet::new() )?, @@ -681,7 +685,7 @@ mod test { &[ TokenString::text("maybe"), TokenString::text(""), - "$(error fail)".parse().unwrap() + "$(error fail)".parse()? ], &MacroSet::new() )?, -- cgit v1.2.3