diff --git a/Userland/Utilities/base64.cpp b/Userland/Utilities/base64.cpp index 4d21b88199..dbcd0a1221 100644 --- a/Userland/Utilities/base64.cpp +++ b/Userland/Utilities/base64.cpp @@ -6,7 +6,7 @@ #include #include -#include +#include #include #include @@ -22,19 +22,14 @@ ErrorOr serenity_main(Main::Arguments arguments) args_parser.add_positional_argument(filepath, "", "file", Core::ArgsParser::Required::No); args_parser.parse(arguments); - ByteBuffer buffer; - if (filepath == nullptr || filepath == "-") { - buffer = Core::File::standard_input()->read_all(); - } else { - auto file = TRY(Core::File::open(filepath, Core::OpenMode::ReadOnly)); - buffer = file->read_all(); - } + auto file = TRY(Core::Stream::File::open_file_or_standard_stream(filepath, Core::Stream::OpenMode::Read)); + ByteBuffer buffer = TRY(file->read_all()); TRY(Core::System::pledge("stdio")); if (decode) { - auto decoded = TRY(decode_base64(StringView(buffer))); - Core::File::standard_output()->write(decoded.data(), decoded.size()); + auto decoded = TRY(decode_base64(buffer)); + out("{}", StringView(decoded.bytes())); return 0; }