forked from jeremy-rifkin/cpptrace
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmemory_file_view.cpp
More file actions
23 lines (21 loc) · 796 Bytes
/
memory_file_view.cpp
File metadata and controls
23 lines (21 loc) · 796 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include "utils/io/memory_file_view.hpp"
CPPTRACE_BEGIN_NAMESPACE
namespace detail {
string_view memory_file_view::path() const {
return object_path;
}
Result<monostate, internal_error> memory_file_view::read_bytes(bspan buffer, off_t offset) const {
if(offset < 0) {
return internal_error("Illegal read in memory file {}: offset {}", path(), offset);
}
if(offset + buffer.size() > data.size()) {
return internal_error(
"Illegal read in memory file {}: offset = {}, size = {}, file size = {}",
path(), offset, buffer.size(), data.size()
);
}
std::memcpy(buffer.data(), data.data() + offset, buffer.size());
return monostate{};
}
}
CPPTRACE_END_NAMESPACE