From b0279716c4d678539c0ef5d45800f79cf7a0a1ed Mon Sep 17 00:00:00 2001 From: Jakob Hellermann Date: Sat, 18 Jan 2025 16:25:51 +0100 Subject: [PATCH] fix: panic on unexpected nix-index output (github #31) --- core/src/system.rs | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/core/src/system.rs b/core/src/system.rs index 0a506f0..dabab16 100644 --- a/core/src/system.rs +++ b/core/src/system.rs @@ -112,18 +112,21 @@ pub fn get_packages( if result.is_empty() { return None; } - let packages: Vec = result + let packages: Option> = result .lines() .map(|line| { - line.split_whitespace() - .next() - .unwrap() - .rsplit_once('.') - .unwrap() - .0 - .to_string() + let package = line.split_whitespace().next()?; + Some(package.rsplit_once('.')?.0.to_string()) }) .collect(); + let Some(packages) = packages else { + eprintln!( + "Unexpected output from nix-index:\n {}", + result.replace("\n", "\n ") + ); + return None; + }; + if packages.is_empty() { None } else {