From ea09723455cf71e78bf81d65e3c7b7393e6e493e Mon Sep 17 00:00:00 2001 From: mos Date: Sun, 28 Jul 2024 12:08:31 +0200 Subject: [PATCH] remove output file on error --- bipc/src/lib.rs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/bipc/src/lib.rs b/bipc/src/lib.rs index ad17d40..4d0f8fa 100644 --- a/bipc/src/lib.rs +++ b/bipc/src/lib.rs @@ -61,7 +61,10 @@ pub fn run(path: &str, outfile: &str) -> Result<()> { bp::Writer::new() .parse_tree(&node_tree) - .map_err(Error::BpError)? + .or_else(|e| { + std::fs::remove_file(outfile).map_err(Error::BadWrite)?; + Err(Error::BpError(e)) + })? .write_to(&mut out) .map_err(Error::BadWrite) }