aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorpablu <me@pablu.de>2026-05-08 16:22:22 +0200
committerpablu <me@pablu.de>2026-05-08 16:22:22 +0200
commit1ca75982e3c9ae99b2c236a35d4a7f9e07f47ec6 (patch)
tree07e2c12e80b8e0cc609a911349b265868900d9b8
parentfe377f4d850ece44c691b4cb48da5f529ec08dd1 (diff)
use unwrap_default and unwrap_or instead of unwrap
-rw-r--r--src/gentoo/portage.rs26
1 files changed, 19 insertions, 7 deletions
diff --git a/src/gentoo/portage.rs b/src/gentoo/portage.rs
index f199cbf..ad473b1 100644
--- a/src/gentoo/portage.rs
+++ b/src/gentoo/portage.rs
@@ -85,25 +85,37 @@ impl Portage {
let categories = fs::read_dir("/var/db/pkg")?;
for category in categories {
- let category = category.unwrap();
+ let category = match category {
+ Ok(c) => c,
+ Err(_) => continue,
+ };
+
let cat_name = category.file_name();
let pkgs = fs::read_dir(category.path())?;
for pkg in pkgs {
- let pkg = pkg.unwrap();
+ let pkg = match pkg {
+ Ok(p) => p,
+ Err(_) => continue,
+ };
+
let pkg_name = pkg.file_name();
- let pkg_name = pkg_name.to_str().unwrap();
+ let pkg_name = match pkg_name.to_str() {
+ Some(n) => n,
+ None => continue,
+ };
+
let (pkg_name, pkg_version) = split_pkg(pkg_name);
let use_flags_file = fs::read(pkg.path().join("USE"))?;
let use_flags: Vec<&str> = str::from_utf8(&use_flags_file)
- .unwrap()
+ .unwrap_or_default()
.trim()
.split(' ')
.collect();
let iuse_flags_file = fs::read(pkg.path().join("IUSE"))?;
let iuse_flags: Vec<&str> = str::from_utf8(&iuse_flags_file)
- .unwrap()
+ .unwrap_or_default()
.trim()
.split(' ')
.collect();
@@ -150,14 +162,14 @@ impl Portage {
let repo_path = PathBuf::from("/var/db/repos/")
.join(&repository)
- .join(cat_name.to_str().unwrap())
+ .join(cat_name.to_str().unwrap_or_default())
.join(pkg_name)
.join("metadata.xml");
let maintainer = extract_maintainer(&repo_path)?;
self.installed_packages.push(Package::new(
- format!("{}/{}", cat_name.to_str().unwrap(), pkg_name),
+ format!("{}/{}", cat_name.to_str().unwrap_or_default(), pkg_name),
pkg_version.unwrap().into(),
repository,
size,