1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-28 21:07:35 +00:00

AK: Convert AK::Format formatting helpers to returning ErrorOr<void>

This isn't a complete conversion to ErrorOr<void>, but a good chunk.
The end goal here is to propagate buffer allocation failures to the
caller, and allow the use of TRY() with formatting functions.
This commit is contained in:
Andreas Kling 2021-11-16 01:15:21 +01:00
parent 008355c222
commit 216e21a1fa
87 changed files with 450 additions and 448 deletions

View file

@ -28,50 +28,42 @@ bool DNSAnswer::has_expired() const
}
void AK::Formatter<LookupServer::DNSRecordType>::format(AK::FormatBuilder& builder, LookupServer::DNSRecordType value)
ErrorOr<void> AK::Formatter<LookupServer::DNSRecordType>::format(AK::FormatBuilder& builder, LookupServer::DNSRecordType value)
{
switch (value) {
case LookupServer::DNSRecordType::A:
builder.put_string("A");
return;
return builder.put_string("A");
case LookupServer::DNSRecordType::NS:
builder.put_string("NS");
return;
return builder.put_string("NS");
case LookupServer::DNSRecordType::CNAME:
builder.put_string("CNAME");
return;
return builder.put_string("CNAME");
case LookupServer::DNSRecordType::SOA:
builder.put_string("SOA");
return;
return builder.put_string("SOA");
case LookupServer::DNSRecordType::PTR:
builder.put_string("PTR");
return;
return builder.put_string("PTR");
case LookupServer::DNSRecordType::MX:
builder.put_string("MX");
return;
return builder.put_string("MX");
case LookupServer::DNSRecordType::TXT:
builder.put_string("TXT");
return;
return builder.put_string("TXT");
case LookupServer::DNSRecordType::AAAA:
builder.put_string("AAAA");
return;
return builder.put_string("AAAA");
case LookupServer::DNSRecordType::SRV:
builder.put_string("SRV");
return;
return builder.put_string("SRV");
}
builder.put_string("DNS record type ");
builder.put_u64((u16)value);
TRY(builder.put_string("DNS record type "));
TRY(builder.put_u64((u16)value));
return {};
}
void AK::Formatter<LookupServer::DNSRecordClass>::format(AK::FormatBuilder& builder, LookupServer::DNSRecordClass value)
ErrorOr<void> AK::Formatter<LookupServer::DNSRecordClass>::format(AK::FormatBuilder& builder, LookupServer::DNSRecordClass value)
{
switch (value) {
case LookupServer::DNSRecordClass::IN:
builder.put_string("IN");
return;
return builder.put_string("IN");
}
builder.put_string("DNS record class ");
builder.put_u64((u16)value);
TRY(builder.put_string("DNS record class "));
TRY(builder.put_u64((u16)value));
return {};
}

View file

@ -65,7 +65,7 @@ struct AK::Formatter<LookupServer::DNSRecordType> : StandardFormatter {
{
}
void format(AK::FormatBuilder&, LookupServer::DNSRecordType);
ErrorOr<void> format(AK::FormatBuilder&, LookupServer::DNSRecordType);
};
template<>
@ -76,5 +76,5 @@ struct AK::Formatter<LookupServer::DNSRecordClass> : StandardFormatter {
{
}
void format(AK::FormatBuilder&, LookupServer::DNSRecordClass);
ErrorOr<void> format(AK::FormatBuilder&, LookupServer::DNSRecordClass);
};

View file

@ -41,7 +41,7 @@ OutputStream& operator<<(OutputStream& stream, const DNSName&);
template<>
struct AK::Formatter<LookupServer::DNSName> : Formatter<StringView> {
void format(FormatBuilder& builder, const LookupServer::DNSName& value)
ErrorOr<void> format(FormatBuilder& builder, LookupServer::DNSName const& value)
{
return Formatter<StringView>::format(builder, value.as_string());
}