From 876f56affaf16f8c19c4ee403ff9b85cc5ca6902 Mon Sep 17 00:00:00 2001 From: Marek Kulik Date: Sun, 29 Jan 2023 17:23:27 +0100 Subject: [PATCH] Fix IEqual in loader proxy --- Client/loader-proxy/main.cpp | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/Client/loader-proxy/main.cpp b/Client/loader-proxy/main.cpp index 9acd3c9bda..0510f80a5e 100644 --- a/Client/loader-proxy/main.cpp +++ b/Client/loader-proxy/main.cpp @@ -56,6 +56,7 @@ 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; @@ -63,11 +64,6 @@ 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(lhs.length(), rhs.length())); -} - BOOL WINAPI DllMain(HINSTANCE dll, DWORD reason, LPVOID) { if (reason == DLL_PROCESS_ATTACH) @@ -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()); +}