1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-27 11:47:46 +00:00

Kernel: Change Inode::{read/write}_bytes interface to KResultOr<ssize_t>

The error handling in all these cases was still using the old style
negative values to indicate errors. We have a nicer solution for this
now with KResultOr<T>. This change switches the interface and then all
implementers to use the new style.
This commit is contained in:
Brian Gianforcaro 2021-05-01 14:29:39 -07:00 committed by Andreas Kling
parent de9b454f89
commit 234c6ae32d
18 changed files with 88 additions and 82 deletions

View file

@ -50,8 +50,8 @@ static bool should_make_executable_exception_for_dynamic_loader(bool make_readab
Elf32_Ehdr header;
auto buffer = UserOrKernelBuffer::for_kernel_buffer((u8*)&header);
auto nread = inode.read_bytes(0, sizeof(header), buffer, nullptr);
if (nread != sizeof(header))
auto result = inode.read_bytes(0, sizeof(header), buffer, nullptr);
if (result.is_error() || result.value() != sizeof(header))
return false;
// The file is a valid ELF binary