Use safe_string when printing %s with Memory::GetCharPointer.

This commit is contained in:
ANR2ME 2022-08-06 11:22:38 +07:00
parent 3b7a33ddd8
commit 0b3fdf0cef
3 changed files with 7 additions and 1 deletions

View File

@ -55,6 +55,10 @@ void truncate_cpy(char *dest, size_t destSize, const char *src) {
}
}
const char* safe_string(const char* s) {
return s ? s : "(null)";
}
long parseHexLong(std::string s) {
long value = 0;

View File

@ -84,6 +84,8 @@ inline void truncate_cpy(char(&out)[Count], const char *src) {
truncate_cpy(out, Count, src);
}
const char* safe_string(const char* s);
long parseHexLong(std::string s);
long parseLong(std::string s);
std::string StringFromFormat(const char* format, ...);

View File

@ -80,7 +80,7 @@ static int sceNpMatching2Term()
static int sceNpMatching2CreateContext(u32 communicationIdPtr, u32 passPhrasePtr, u32 ctxIdPtr, int unknown)
{
ERROR_LOG(SCENET, "UNIMPL %s(%08x[%s], %08x[%08x], %08x[%hu], %i) at %08x", __FUNCTION__, communicationIdPtr, Memory::GetCharPointer(communicationIdPtr), passPhrasePtr, Memory::Read_U32(passPhrasePtr), ctxIdPtr, Memory::Read_U16(ctxIdPtr), unknown, currentMIPS->pc);
ERROR_LOG(SCENET, "UNIMPL %s(%08x[%s], %08x[%08x], %08x[%hu], %i) at %08x", __FUNCTION__, communicationIdPtr, safe_string(Memory::GetCharPointer(communicationIdPtr)), passPhrasePtr, Memory::Read_U32(passPhrasePtr), ctxIdPtr, Memory::Read_U16(ctxIdPtr), unknown, currentMIPS->pc);
if (!npMatching2Inited)
return hleLogError(SCENET, SCE_NP_MATCHING2_ERROR_NOT_INITIALIZED);