diff --git a/src/helpers.rs b/src/helpers.rs index 7a222d3f..a4899bf9 100644 --- a/src/helpers.rs +++ b/src/helpers.rs @@ -109,7 +109,7 @@ pub async fn download_tar_based_and_visit< let stream = resp.bytes_stream(); - let visitor = extract_tar_based_stream_and_visit(stream, path, fmt, visitor).await?; + let visitor = extract_tar_based_stream_and_visit(stream, fmt, visitor).await?; debug!("Download OK, written to file: '{}'", path.display()); diff --git a/src/helpers/async_extracter.rs b/src/helpers/async_extracter.rs index 80ed397c..3d948de3 100644 --- a/src/helpers/async_extracter.rs +++ b/src/helpers/async_extracter.rs @@ -233,21 +233,15 @@ where pub async fn extract_tar_based_stream_and_visit( stream: impl Stream> + Unpin, - output: &Path, fmt: TarBasedFmt, mut visitor: V, ) -> Result where BinstallError: From, { - let path = output.to_owned(); - extract_impl(stream, move |mut rx| { - fs::create_dir_all(path.parent().unwrap())?; - - extract_compressed_from_readable(ReadableRx::new(&mut rx), fmt, Op::Visit(&mut visitor))?; - - Ok(visitor) + extract_compressed_from_readable(ReadableRx::new(&mut rx), fmt, Op::Visit(&mut visitor)) + .map(|_| visitor) }) .await }