Skip to content

Commit

Permalink
[KERNEL32] Add CompareStringOrdinal from wine-3.21
Browse files Browse the repository at this point in the history
  • Loading branch information
tkreuzer committed Aug 20, 2023
1 parent dafa00b commit 3a0b533
Show file tree
Hide file tree
Showing 3 changed files with 37 additions and 2 deletions.
2 changes: 1 addition & 1 deletion dll/win32/kernel32/kernel32.spec
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,7 @@
@ stdcall CompareFileTime(ptr ptr)
@ stdcall CompareStringA(long long str long str long)
@ stdcall -version=0x600+ CompareStringEx(wstr long wstr long wstr long ptr ptr ptr)
@ stdcall -stub -version=0x600+ CompareStringOrdinal(wstr long wstr long long)
@ stdcall -version=0x600+ CompareStringOrdinal(wstr long wstr long long)
@ stdcall CompareStringW(long long wstr long wstr long)
@ stdcall ConnectNamedPipe(long ptr)
;@ stdcall -arch=x86_64 ConsoleIMERoutine()
Expand Down
25 changes: 24 additions & 1 deletion dll/win32/kernel32/winnls/string/lang.c
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ DEBUG_CHANNEL(nls);
#endif

#undef WINVER
#define WINVER 0x600
#define WINVER DLL_EXPORT_VERSION

/* From winnls.h */
#define LOCALE_NAME_USER_DEFAULT NULL
Expand Down Expand Up @@ -2765,6 +2765,29 @@ INT WINAPI CompareStringA(LCID lcid, DWORD flags,
return ret;
}

#if (WINVER >= 0x0600)
/******************************************************************************
* CompareStringOrdinal (KERNEL32.@)
*/
INT WINAPI CompareStringOrdinal(const WCHAR *str1, INT len1, const WCHAR *str2, INT len2, BOOL ignore_case)
{
int ret;

if (!str1 || !str2)
{
SetLastError(ERROR_INVALID_PARAMETER);
return 0;
}
if (len1 < 0) len1 = strlenW(str1);
if (len2 < 0) len2 = strlenW(str2);

ret = RtlCompareUnicodeStrings( str1, len1, str2, len2, ignore_case );
if (ret < 0) return CSTR_LESS_THAN;
if (ret > 0) return CSTR_GREATER_THAN;
return CSTR_EQUAL;
}
#endif

#ifdef __REACTOS__
HANDLE NLS_RegOpenKey(HANDLE hRootKey, LPCWSTR szKeyName)
#else
Expand Down
12 changes: 12 additions & 0 deletions sdk/include/ndk/rtlfuncs.h
Original file line number Diff line number Diff line change
Expand Up @@ -2123,6 +2123,18 @@ RtlCompareUnicodeString(
BOOLEAN CaseInsensitive
);

_Must_inspect_result_
NTSYSAPI
LONG
NTAPI
RtlCompareUnicodeStrings(
_In_reads_(String1Length) PCWCH String1,
_In_ SIZE_T String1Length,
_In_reads_(String2Length) PCWCH String2,
_In_ SIZE_T String2Length,
_In_ BOOLEAN CaseInSensitive
);

NTSYSAPI
VOID
NTAPI
Expand Down

0 comments on commit 3a0b533

Please sign in to comment.