1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-27 19:17:44 +00:00

AK+Userland: Make AK::decode_base64 return ErrorOr

This commit is contained in:
Sam Atkins 2022-01-20 17:18:17 +00:00 committed by Andreas Kling
parent f590cd1850
commit c388a879d7
11 changed files with 31 additions and 43 deletions

View file

@ -46,12 +46,8 @@ ErrorOr<int> serenity_main(Main::Arguments arguments)
TRY(Core::System::pledge("stdio"));
if (decode) {
auto decoded = decode_base64(StringView(buffer));
if (!decoded.has_value()) {
warnln("base64: invalid input");
return 1;
}
fwrite(decoded.value().data(), sizeof(u8), decoded.value().size(), stdout);
auto decoded = TRY(decode_base64(StringView(buffer)));
fwrite(decoded.data(), sizeof(u8), decoded.size(), stdout);
return 0;
}

View file

@ -119,10 +119,10 @@ int main(int argc, char** argv)
}
auto base64_data = line.substring(8);
auto buffer = decode_base64(base64_data);
if (buffer.has_value()) {
socket->send(buffer.value(), false);
if (buffer.is_error()) {
outln("Could not send message : {}", buffer.error().string_literal());
} else {
outln("Could not send message : Base64 string contains an invalid character.");
socket->send(buffer.value(), false);
}
continue;
}