summaryrefslogtreecommitdiffstats
path: root/src/core/memory.cpp
diff options
context:
space:
mode:
authorwwylele <wwylele@gmail.com>2016-06-27 19:42:42 +0200
committerwwylele <wwylele@gmail.com>2016-08-27 15:38:06 +0200
commitb2df959733ee65cbf705dbfbd05761a06929a6b6 (patch)
tree90327dc0e58493de455fa4a4fdd4599ee8c6477a /src/core/memory.cpp
parentMerge pull request #2022 from MerryMage/issue-tpl (diff)
downloadyuzu-b2df959733ee65cbf705dbfbd05761a06929a6b6.tar
yuzu-b2df959733ee65cbf705dbfbd05761a06929a6b6.tar.gz
yuzu-b2df959733ee65cbf705dbfbd05761a06929a6b6.tar.bz2
yuzu-b2df959733ee65cbf705dbfbd05761a06929a6b6.tar.lz
yuzu-b2df959733ee65cbf705dbfbd05761a06929a6b6.tar.xz
yuzu-b2df959733ee65cbf705dbfbd05761a06929a6b6.tar.zst
yuzu-b2df959733ee65cbf705dbfbd05761a06929a6b6.zip
Diffstat (limited to 'src/core/memory.cpp')
-rw-r--r--src/core/memory.cpp14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/core/memory.cpp b/src/core/memory.cpp
index 8c9e5d46d..9aa8c4e5a 100644
--- a/src/core/memory.cpp
+++ b/src/core/memory.cpp
@@ -280,6 +280,20 @@ u8* GetPointer(const VAddr vaddr) {
return nullptr;
}
+std::string ReadCString(VAddr vaddr, std::size_t max_length) {
+ std::string string;
+ string.reserve(max_length);
+ for (std::size_t i = 0; i < max_length; ++i) {
+ char c = Read8(vaddr);
+ if (c == '\0')
+ break;
+ string.push_back(c);
+ ++vaddr;
+ }
+ string.shrink_to_fit();
+ return string;
+}
+
u8* GetPhysicalPointer(PAddr address) {
// TODO(Subv): This call should not go through the application's memory mapping.
return GetPointer(PhysicalToVirtualAddress(address));