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:
parent
58feebeed2
commit
7a3ab6c517
58 changed files with 223 additions and 229 deletions
|
@ -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();
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue