Skip to content

Commit d325c31

Browse files
committed
Fix iter if value is None
Signed-off-by: Zvonko Kaiser <[email protected]>
1 parent 2090a19 commit d325c31

File tree

2 files changed

+7
-13
lines changed

2 files changed

+7
-13
lines changed

src/cache.rs

Lines changed: 6 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -78,14 +78,7 @@ pub struct Cache {
7878
}
7979

8080
pub fn new_cache(options: Vec<CdiOption>) -> Arc<Mutex<Cache>> {
81-
let cache = Arc::new(Mutex::new(Cache {
82-
spec_dirs: Vec::new(),
83-
specs: HashMap::new(),
84-
devices: HashMap::new(),
85-
errors: HashMap::new(),
86-
dir_errors: HashMap::new(),
87-
auto_refresh: true,
88-
}));
81+
let cache = Arc::new(Mutex::new(Cache::default()));
8982

9083
{
9184
let mut c = cache.lock().unwrap();
@@ -273,10 +266,11 @@ impl Cache {
273266
if let Some(dev) = self.devices.get(&device) {
274267
let mut spec = dev.get_spec();
275268
if specs.insert(spec.clone()) {
276-
match spec.edits() {
277-
Some(ce) => edits.append(ce)?,
278-
None => continue,
279-
};
269+
// spec.edits may be none when we only have dev.edits
270+
// allow dev.edits to be added even if spec.edits is None
271+
if let Some(ce) = spec.edits() {
272+
edits.append(ce)?
273+
}
280274
}
281275
edits.append(dev.edits())?;
282276
} else {

src/version.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -165,7 +165,7 @@ fn requires_v040(spec: &CDISpec) -> bool {
165165
spec.devices
166166
.iter()
167167
.map(|d| &d.container_edits)
168-
.chain(std::iter::once(spec.container_edits.as_ref().unwrap()))
168+
.chain(spec.container_edits.as_ref())
169169
.flat_map(|edits| edits.mounts.iter().flat_map(|mounts| mounts.iter()))
170170
.any(|mount| mount.r#type.as_ref().map_or(false, |typ| !typ.is_empty()))
171171
}

0 commit comments

Comments
 (0)