diff --git a/src/util/file.rs b/src/util/file.rs index 95882d9..678ec22 100644 --- a/src/util/file.rs +++ b/src/util/file.rs @@ -428,7 +428,7 @@ where P: AsRef { if path.as_ref().exists() { set_file_mtime(path, FileTime::now()) } else { - match OpenOptions::new().create(true).write(true).open(path) { + match OpenOptions::new().create(true).truncate(true).write(true).open(path) { Ok(_) => Ok(()), Err(e) => Err(e), } diff --git a/src/util/rarc.rs b/src/util/rarc.rs index 6922d78..29fae5f 100644 --- a/src/util/rarc.rs +++ b/src/util/rarc.rs @@ -391,11 +391,7 @@ impl<'parent> Iterator for Nodes<'parent> { type Item = Node; fn next(&mut self) -> Option { - let Some(state) = self.stack.pop() else { - return None; - }; - - match state { + match self.stack.pop()? { NodeState::Begin(name) => { self.stack.push(NodeState::File(name.clone(), 0)); Some(Node::DirectoryBegin { name })