Merge pull request #853 from lioncash/memmap

Core: Simplify Memory::GetString
This commit is contained in:
Pierre Bourdon 2014-08-23 19:19:09 +02:00
commit f7102faae7
3 changed files with 10 additions and 12 deletions

View file

@ -279,19 +279,18 @@ void ReadBigEData(u8 *data, const u32 em_address, const u32 size)
memcpy(data, src, size);
}
void GetString(std::string& _string, const u32 em_address)
std::string GetString(u32 em_address)
{
char stringBuffer[2048];
char *string = stringBuffer;
std::string str;
char c;
u32 addr = em_address;
while ((c = Read_U8(addr)))
while ((c = Read_U8(em_address)) != '\0')
{
*string++ = c;
addr++;
str += c;
em_address++;
}
*string++ = '\0';
_string = stringBuffer;
return str;
}
// GetPointer must always return an address in the bottom 32 bits of address space, so that 64-bit

View file

@ -118,7 +118,7 @@ void Write_U64_Swap(const u64 _Data, const u32 _Address);
// Useful helper functions, used by ARM JIT
void Write_F64(const double _Data, const u32 _Address);
void GetString(std::string& _string, const u32 _Address);
std::string GetString(u32 em_address);
void WriteBigEData(const u8 *_pData, const u32 _Address, const size_t size);
void ReadBigEData(u8 *_pDest, const u32 _Address, const u32 size);

View file

@ -369,8 +369,7 @@ void ExecuteCommand(u32 _Address)
u32 Mode = Memory::Read_U32(_Address + 0x10);
DeviceID = getFreeDeviceId();
std::string DeviceName;
Memory::GetString(DeviceName, Memory::Read_U32(_Address + 0xC));
std::string DeviceName = Memory::GetString(Memory::Read_U32(_Address + 0xC));
WARN_LOG(WII_IPC_HLE, "Trying to open %s as %d", DeviceName.c_str(), DeviceID);
if (DeviceID >= 0)