1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-14 09:14:58 +00:00

LibCompress: Port GzipCompressor to Core::Stream

This commit is contained in:
Tim Schumacher 2022-12-27 11:40:23 +01:00 committed by Andreas Kling
parent b4b80b7ec6
commit a212bc3052
5 changed files with 50 additions and 56 deletions

View file

@ -207,18 +207,18 @@ ErrorOr<int> serenity_main(Main::Arguments arguments)
return 1;
}
auto file = Core::File::standard_output();
NonnullOwnPtr<Core::Stream::Stream> output_stream = TRY(Core::Stream::File::standard_output());
if (!archive_file.is_empty())
file = TRY(Core::File::open(archive_file, Core::OpenMode::WriteOnly));
output_stream = TRY(Core::Stream::File::open(archive_file, Core::Stream::OpenMode::Write));
if (!directory.is_empty())
TRY(Core::System::chdir(directory));
NonnullOwnPtr<OutputStream> file_output_stream = make<Core::OutputFileStream>(file);
NonnullOwnPtr<OutputStream> gzip_output_stream = make<Compress::GzipCompressor>(*file_output_stream);
if (gzip)
output_stream = TRY(try_make<Compress::GzipCompressor>(move(output_stream)));
Archive::TarOutputStream tar_stream(make<Core::Stream::WrappedAKOutputStream>(move((gzip) ? gzip_output_stream : file_output_stream)));
Archive::TarOutputStream tar_stream(move(output_stream));
auto add_file = [&](DeprecatedString path) -> ErrorOr<void> {
auto file = Core::File::construct(path);