diff options
author | Sam Atkins <atkinssj@serenityos.org> | 2022-04-15 13:33:02 +0100 |
---|---|---|
committer | Tim Flynn <trflynn89@pm.me> | 2022-04-16 13:27:51 -0400 |
commit | 3b1e063d30d915826949ce13e069761d7a32e8a5 (patch) | |
tree | ea04c82daeea29fda7505a5a85e750d208e22457 /Userland/Services/InspectorServer/InspectableProcess.cpp | |
parent | 6654efcd8207811bf3442368bf3cba04ac4ec5ae (diff) | |
download | serenity-3b1e063d30d915826949ce13e069761d7a32e8a5.zip |
LibCore+Everywhere: Make Core::Stream::read() return Bytes
A mistake I've repeatedly made is along these lines:
```c++
auto nread = TRY(source_file->read(buffer));
TRY(destination_file->write(buffer));
```
It's a little clunky to have to create a Bytes or StringView from the
buffer's data pointer and the nread, and easy to forget and just use
the buffer. So, this patch changes the read() function to return a
Bytes of the data that were just read.
The other read_foo() methods will be modified in the same way in
subsequent commits.
Fixes #13687
Diffstat (limited to 'Userland/Services/InspectorServer/InspectableProcess.cpp')
-rw-r--r-- | Userland/Services/InspectorServer/InspectableProcess.cpp | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/Userland/Services/InspectorServer/InspectableProcess.cpp b/Userland/Services/InspectorServer/InspectableProcess.cpp index 1b085db255..a709d180fe 100644 --- a/Userland/Services/InspectorServer/InspectableProcess.cpp +++ b/Userland/Services/InspectorServer/InspectableProcess.cpp @@ -43,8 +43,8 @@ String InspectableProcess::wait_for_response() } u32 length {}; - auto nread = m_socket->read({ (u8*)&length, sizeof(length) }).release_value_but_fixme_should_propagate_errors(); - if (nread != sizeof(length)) { + auto length_bytes_read = m_socket->read({ (u8*)&length, sizeof(length) }).release_value_but_fixme_should_propagate_errors(); + if (length_bytes_read.size() != sizeof(length)) { dbgln("InspectableProcess got malformed data: PID {}", m_pid); m_socket->close(); return {}; @@ -54,17 +54,17 @@ String InspectableProcess::wait_for_response() auto remaining_data_buffer = data_buffer.bytes(); while (!remaining_data_buffer.is_empty()) { - auto maybe_nread = m_socket->read(remaining_data_buffer); - if (maybe_nread.is_error()) { - dbgln("InspectableProcess::wait_for_response: Failed to read data: {}", maybe_nread.error()); + auto maybe_bytes_read = m_socket->read(remaining_data_buffer); + if (maybe_bytes_read.is_error()) { + dbgln("InspectableProcess::wait_for_response: Failed to read data: {}", maybe_bytes_read.error()); break; } - auto nread = maybe_nread.release_value(); - if (nread == 0) + auto bytes_read = maybe_bytes_read.release_value(); + if (bytes_read.is_empty()) break; - remaining_data_buffer = remaining_data_buffer.slice(nread); + remaining_data_buffer = remaining_data_buffer.slice(bytes_read.size()); } VERIFY(data_buffer.size() == length); |