1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-25 00:57:43 +00:00

Kernel: Make File::write() and File::read() return KResultOr<size_t>

Instead of returning a ssize_t where negative values mean error,
we now return KResultOr<size_t> and use the error state to report
errors exclusively.
This commit is contained in:
Andreas Kling 2020-08-04 18:02:23 +02:00
parent 58feebeed2
commit 7a3ab6c517
58 changed files with 223 additions and 229 deletions

View file

@ -58,13 +58,13 @@ void DoubleBuffer::flip()
compute_lockfree_metadata();
}
ssize_t DoubleBuffer::write(const u8* data, ssize_t size)
size_t DoubleBuffer::write(const u8* data, size_t size)
{
if (!size)
return 0;
ASSERT(size > 0);
LOCKER(m_lock);
ssize_t bytes_to_write = min(static_cast<size_t>(size), m_space_for_writing);
size_t bytes_to_write = min(size, m_space_for_writing);
u8* write_ptr = m_write_buffer->data + m_write_buffer->size;
m_write_buffer->size += bytes_to_write;
compute_lockfree_metadata();
@ -72,7 +72,7 @@ ssize_t DoubleBuffer::write(const u8* data, ssize_t size)
return bytes_to_write;
}
ssize_t DoubleBuffer::read(u8* data, ssize_t size)
size_t DoubleBuffer::read(u8* data, size_t size)
{
if (!size)
return 0;
@ -82,7 +82,7 @@ ssize_t DoubleBuffer::read(u8* data, ssize_t size)
flip();
if (m_read_buffer_index >= m_read_buffer->size)
return 0;
ssize_t nread = min((ssize_t)m_read_buffer->size - (ssize_t)m_read_buffer_index, size);
size_t nread = min(m_read_buffer->size - m_read_buffer_index, size);
memcpy(data, m_read_buffer->data + m_read_buffer_index, nread);
m_read_buffer_index += nread;
compute_lockfree_metadata();