diff --git a/Source/Core/Core/HLE/HLE.cpp b/Source/Core/Core/HLE/HLE.cpp index d1206b756b..e9fc504528 100644 --- a/Source/Core/Core/HLE/HLE.cpp +++ b/Source/Core/Core/HLE/HLE.cpp @@ -80,11 +80,11 @@ constexpr std::array OSBreakPoints{{ }}; // clang-format on -void Patch(u32 addr, const char* hle_func_name) +void Patch(u32 addr, std::string_view func_name) { for (u32 i = 1; i < OSPatches.size(); ++i) { - if (!strcmp(OSPatches[i].m_szPatchName, hle_func_name)) + if (OSPatches[i].m_szPatchName == func_name) { s_original_instructions[addr] = i; PowerPC::ppcState.iCache.Invalidate(addr); @@ -215,7 +215,7 @@ bool IsEnabled(HookFlag flag) PowerPC::GetMode() == PowerPC::CoreMode::Interpreter; } -u32 UnPatch(const std::string& patch_name) +u32 UnPatch(std::string_view patch_name) { const auto patch = std::find_if(std::begin(OSPatches), std::end(OSPatches), [&](const SPatch& p) { return patch_name == p.m_szPatchName; }); @@ -258,7 +258,7 @@ u32 UnPatch(const std::string& patch_name) return 0; } -bool UnPatch(u32 addr, const std::string& name) +bool UnPatch(u32 addr, std::string_view name) { auto itr = s_original_instructions.find(addr); if (itr == s_original_instructions.end()) diff --git a/Source/Core/Core/HLE/HLE.h b/Source/Core/Core/HLE/HLE.h index 9f851e0396..6e07b832a7 100644 --- a/Source/Core/Core/HLE/HLE.h +++ b/Source/Core/Core/HLE/HLE.h @@ -4,7 +4,7 @@ #pragma once -#include +#include #include "Common/CommonTypes.h" @@ -29,9 +29,9 @@ void PatchFunctions(); void Clear(); void Reload(); -void Patch(u32 pc, const char* func_name); -u32 UnPatch(const std::string& patchName); -bool UnPatch(u32 addr, const std::string& name = {}); +void Patch(u32 pc, std::string_view func_name); +u32 UnPatch(std::string_view patch_name); +bool UnPatch(u32 addr, std::string_view name = {}); void Execute(u32 _CurrentPC, u32 _Instruction); // Returns the HLE function index if the address is located in the function