mirror of
https://github.com/RGBCube/serenity
synced 2025-07-28 08:57:47 +00:00
Everywhere: Convert ByteBuffer factory methods from Optional -> ErrorOr
Apologies for the enormous commit, but I don't see a way to split this up nicely. In the vast majority of cases it's a simple change. A few extra places can use TRY instead of manual error checking though. :^)
This commit is contained in:
parent
140f1d9e55
commit
45cf40653a
79 changed files with 202 additions and 274 deletions
|
@ -214,12 +214,8 @@ ErrorOr<ByteBuffer> GraphicsAdapter::get_edid(size_t output_port_index) const
|
|||
if (output_port_index >= VIRTIO_GPU_MAX_SCANOUTS)
|
||||
return Error::from_errno(ENODEV);
|
||||
auto& edid = m_scanouts[output_port_index].edid;
|
||||
if (edid.has_value()) {
|
||||
auto bytes = ByteBuffer::copy(edid.value().bytes());
|
||||
if (!bytes.has_value())
|
||||
return Error::from_errno(ENOMEM);
|
||||
return bytes.release_value();
|
||||
}
|
||||
if (edid.has_value())
|
||||
return ByteBuffer::copy(edid.value().bytes());
|
||||
return ByteBuffer {};
|
||||
}
|
||||
|
||||
|
@ -243,11 +239,8 @@ auto GraphicsAdapter::query_edid(u32 scanout_id) -> ErrorOr<Optional<EDID::Parse
|
|||
if (response.size == 0)
|
||||
return Error::from_string_literal("VirtIO::GraphicsAdapter: Failed to get EDID, empty buffer");
|
||||
|
||||
auto edid_buffer = ByteBuffer::copy(response.edid, response.size);
|
||||
if (!edid_buffer.has_value())
|
||||
return Error::from_errno(ENOMEM);
|
||||
|
||||
auto edid = TRY(EDID::Parser::from_bytes(edid_buffer.release_value()));
|
||||
auto edid_buffer = TRY(ByteBuffer::copy(response.edid, response.size));
|
||||
auto edid = TRY(EDID::Parser::from_bytes(move(edid_buffer)));
|
||||
return edid;
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue