Skip to content

Commit

Permalink
Fix IEqual in loader proxy
Browse files Browse the repository at this point in the history
  • Loading branch information
botder committed Feb 7, 2023
1 parent a5afa43 commit 876f56a
Showing 1 changed file with 15 additions and 5 deletions.
20 changes: 15 additions & 5 deletions Client/loader-proxy/main.cpp
Expand Up @@ -56,18 +56,14 @@ auto AppendSystemError(std::wstring message, DWORD errorCode) -> std::wstring;
auto MakeLauncherError(std::wstring message) -> std::wstring;
auto MakeMissingFilesError(std::wstring message) -> std::wstring;
void AddLaunchLog(const char* format, ...);
bool IEqual(std::wstring_view lhs, std::wstring_view rhs);

HMODULE g_exe = nullptr;
HMODULE g_core = nullptr;
HMODULE g_netc = nullptr;

VOID(WINAPI* Win32GetStartupInfoA)(LPSTARTUPINFOA) = nullptr;

inline bool IEqual(std::wstring_view lhs, std::wstring_view rhs)
{
return (lhs.empty() && rhs.empty()) || !wcsnicmp(lhs.data(), rhs.data(), std::min<size_t>(lhs.length(), rhs.length()));
}

BOOL WINAPI DllMain(HINSTANCE dll, DWORD reason, LPVOID)
{
if (reason == DLL_PROCESS_ATTACH)
Expand Down Expand Up @@ -806,3 +802,17 @@ void AddLaunchLog(const char* format, ...)

AddReportLog(5720, message);
}

/**
* @brief Compares two strings for equality (case-insensitive).
*/
bool IEqual(std::wstring_view lhs, std::wstring_view rhs)
{
if (lhs.size() != rhs.size())
return false;

if (lhs.empty() && rhs.empty())
return true;

return !wcsnicmp(lhs.data(), rhs.data(), lhs.length());
}

0 comments on commit 876f56a

Please sign in to comment.