AK: Rename the const overload of FixedMemoryStream::bytes()

Due to overload resolutions rules, this simple code provokes a crash:

ReadonlyBytes readonly_bytes{};
FixedMemoryStream stream{readonly_bytes};
ReadonlyBytes give_them_back{stream.bytes()};
    // -> Panics on VERIFY(m_writing_enabled);
    // but this is fine:
auto bytes = static_cast<FixedMemoryStream const&>(*stream).bytes()

If we need to be explicit about it, let's rename the overload instead of
adding that `static_cast`.
This commit is contained in:
Lucas CHOLLET 2023-07-03 13:33:25 -04:00 committed by Sam Atkins
parent 66c9696687
commit 18b7ddd0b5
Notes: sideshowbarker 2024-07-17 05:09:48 +09:00
3 changed files with 3 additions and 3 deletions

View file

@ -114,7 +114,7 @@ Bytes FixedMemoryStream::bytes()
VERIFY(m_writing_enabled);
return m_bytes;
}
ReadonlyBytes FixedMemoryStream::bytes() const
ReadonlyBytes FixedMemoryStream::readonly_bytes() const
{
return m_bytes;
}

View file

@ -32,7 +32,7 @@ public:
virtual ErrorOr<void> write_until_depleted(ReadonlyBytes bytes) override;
Bytes bytes();
ReadonlyBytes bytes() const;
ReadonlyBytes readonly_bytes() const;
size_t offset() const;
size_t remaining() const;

View file

@ -59,7 +59,7 @@ public:
DecoderErrorOr<BooleanDecoder> create_range_decoder(size_t size)
{
ReadonlyBytes stream_data = static_cast<FixedMemoryStream const&>(*stream).bytes();
ReadonlyBytes stream_data = stream->readonly_bytes();
auto compressed_header_data = ReadonlyBytes(stream_data.data() + stream->offset(), size);
// 9.2.1: The Boolean decoding process specified in section 9.2.2 is invoked to read a marker syntax element from the