mirror of
https://github.com/RGBCube/serenity
synced 2025-07-25 19:47:44 +00:00
Kernel: Use TRY() in sys$read() and sys$readv()
This commit is contained in:
parent
c1e18befe8
commit
9903f5c6ef
1 changed files with 3 additions and 8 deletions
|
@ -60,10 +60,8 @@ KResultOr<FlatPtr> Process::sys$readv(int fd, Userspace<const struct iovec*> iov
|
|||
auto buffer = UserOrKernelBuffer::for_user_buffer((u8*)vec.iov_base, vec.iov_len);
|
||||
if (!buffer.has_value())
|
||||
return EFAULT;
|
||||
auto result = description->read(buffer.value(), vec.iov_len);
|
||||
if (result.is_error())
|
||||
return result.error();
|
||||
nread += result.value();
|
||||
auto nread_here = TRY(description->read(buffer.value(), vec.iov_len));
|
||||
nread += nread_here;
|
||||
}
|
||||
|
||||
return nread;
|
||||
|
@ -98,10 +96,7 @@ KResultOr<FlatPtr> Process::sys$read(int fd, Userspace<u8*> buffer, size_t size)
|
|||
auto user_buffer = UserOrKernelBuffer::for_user_buffer(buffer, size);
|
||||
if (!user_buffer.has_value())
|
||||
return EFAULT;
|
||||
auto result = description->read(user_buffer.value(), size);
|
||||
if (result.is_error())
|
||||
return result.error();
|
||||
return result.value();
|
||||
return TRY(description->read(user_buffer.value(), size));
|
||||
}
|
||||
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue