mirror of
https://github.com/ouch-org/ouch.git
synced 2025-06-07 20:15:27 +00:00
Fix single file decompression with specified output directory (#93)
This commit is contained in:
parent
c89c34a91f
commit
69e5e3291c
@ -305,6 +305,8 @@ fn decompress_file(
|
|||||||
reader = chain_reader_decoder(format, reader)?;
|
reader = chain_reader_decoder(format, reader)?;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
utils::create_dir_if_non_existent(output_folder)?;
|
||||||
|
|
||||||
match formats[0] {
|
match formats[0] {
|
||||||
Gzip | Bzip | Lzma | Zstd => {
|
Gzip | Bzip | Lzma | Zstd => {
|
||||||
reader = chain_reader_decoder(&formats[0], reader)?;
|
reader = chain_reader_decoder(&formats[0], reader)?;
|
||||||
@ -316,19 +318,15 @@ fn decompress_file(
|
|||||||
info!("Successfully uncompressed archive in '{}'.", to_utf(output_path));
|
info!("Successfully uncompressed archive in '{}'.", to_utf(output_path));
|
||||||
}
|
}
|
||||||
Tar => {
|
Tar => {
|
||||||
utils::create_dir_if_non_existent(output_folder)?;
|
|
||||||
let _ = crate::archive::tar::unpack_archive(reader, output_folder, flags)?;
|
let _ = crate::archive::tar::unpack_archive(reader, output_folder, flags)?;
|
||||||
info!("Successfully uncompressed archive in '{}'.", to_utf(output_folder));
|
info!("Successfully uncompressed archive in '{}'.", to_utf(output_folder));
|
||||||
}
|
}
|
||||||
Tgz => {
|
Tgz => {
|
||||||
utils::create_dir_if_non_existent(output_folder)?;
|
|
||||||
let reader = chain_reader_decoder(&Gzip, reader)?;
|
let reader = chain_reader_decoder(&Gzip, reader)?;
|
||||||
let _ = crate::archive::tar::unpack_archive(reader, output_folder, flags)?;
|
let _ = crate::archive::tar::unpack_archive(reader, output_folder, flags)?;
|
||||||
info!("Successfully uncompressed archive in '{}'.", to_utf(output_folder));
|
info!("Successfully uncompressed archive in '{}'.", to_utf(output_folder));
|
||||||
}
|
}
|
||||||
Zip => {
|
Zip => {
|
||||||
utils::create_dir_if_non_existent(output_folder)?;
|
|
||||||
|
|
||||||
eprintln!("Compressing first into .zip.");
|
eprintln!("Compressing first into .zip.");
|
||||||
eprintln!("Warning: .zip archives with extra extensions have a downside.");
|
eprintln!("Warning: .zip archives with extra extensions have a downside.");
|
||||||
eprintln!(
|
eprintln!(
|
||||||
|
Loading…
x
Reference in New Issue
Block a user