Replace wpi::raw_istream with wpi::MemoryBuffer (#5675)

Instances of wpi::raw_istream were left that are reading incrementally
from file descriptors like USB devices.
This commit is contained in:
Tyler Veness
2023-09-21 23:20:09 -07:00
committed by GitHub
parent 1b6ec5a95d
commit 5ab54ff760
7 changed files with 51 additions and 56 deletions

View File

@@ -11,11 +11,11 @@
#include <system_error>
#include <vector>
#include <wpi/MemoryBuffer.h>
#include <wpi/SmallString.h>
#include <wpi/StringExtras.h>
#include <wpi/fs.h>
#include <wpi/mutex.h>
#include <wpi/raw_istream.h>
#include <wpi/raw_ostream.h>
#include <wpinet/HttpUtil.h>
#include <wpinet/HttpWebSocketServerConnection.h>
@@ -310,9 +310,9 @@ void NetworkServer::HandleLocal() {
void NetworkServer::LoadPersistent() {
std::error_code ec;
auto size = fs::file_size(m_persistentFilename, ec);
wpi::raw_fd_istream is{m_persistentFilename, ec};
if (ec.value() != 0) {
std::unique_ptr<wpi::MemoryBuffer> fileBuffer =
wpi::MemoryBuffer::GetFile(m_persistentFilename, ec);
if (fileBuffer == nullptr || ec.value() != 0) {
INFO(
"could not open persistent file '{}': {} "
"(this can be ignored if you aren't expecting persistent values)",
@@ -325,12 +325,8 @@ void NetworkServer::LoadPersistent() {
}
return;
}
is.readinto(m_persistentData, size);
m_persistentData = std::string{fileBuffer->begin(), fileBuffer->end()};
DEBUG4("read data: {}", m_persistentData);
if (is.has_error()) {
WARN("error reading persistent file");
return;
}
}
void NetworkServer::SavePersistent(std::string_view filename,