core/memory: Migrate over ReadCString() to the Memory class

This only had one usage spot, so this is fairly straightforward to
convert over.
This commit is contained in:
Lioncash 2019-11-26 15:48:19 -05:00
parent 3f08e8d8d4
commit b2165c6b35
3 changed files with 40 additions and 18 deletions

View file

@ -152,6 +152,23 @@ public:
*/
const u8* GetPointer(VAddr vaddr) const;
/**
* Reads a null-terminated string from the given virtual address.
* This function will continually read characters until either:
*
* - A null character ('\0') is reached.
* - max_length characters have been read.
*
* @note The final null-terminating character (if found) is not included
* in the returned string.
*
* @param vaddr The address to begin reading the string from.
* @param max_length The maximum length of the string to read in characters.
*
* @returns The read string.
*/
std::string ReadCString(VAddr vaddr, std::size_t max_length);
private:
struct Impl;
std::unique_ptr<Impl> impl;
@ -182,8 +199,6 @@ void WriteBlock(VAddr dest_addr, const void* src_buffer, std::size_t size);
void ZeroBlock(const Kernel::Process& process, VAddr dest_addr, std::size_t size);
void CopyBlock(VAddr dest_addr, VAddr src_addr, std::size_t size);
std::string ReadCString(VAddr vaddr, std::size_t max_length);
/**
* Mark each page touching the region as cached.
*/