[PATCH] kernel32: Implement CompareStringOrdinal.

Nikolay Sivov bunglehead at gmail.com
Mon Oct 29 00:57:39 CDT 2012


On 10/29/2012 00:53, Christian Costa wrote:
> ---
>   dlls/kernel32/kernel32.spec |    1 +
>   dlls/kernel32/locale.c      |    8 ++++++++
>   2 files changed, 9 insertions(+)
>
> diff --git a/dlls/kernel32/kernel32.spec b/dlls/kernel32/kernel32.spec
> index b7efa0f..0bd1adc 100644
> --- a/dlls/kernel32/kernel32.spec
> +++ b/dlls/kernel32/kernel32.spec
> @@ -201,6 +201,7 @@
>   @ stdcall CompareStringA(long long str long str long)
>   @ stdcall CompareStringW(long long wstr long wstr long)
>   @ stdcall CompareStringEx(wstr long wstr long wstr long ptr ptr long)
> +@ stdcall CompareStringOrdinal(wstr long wstr long long)
>   @ stdcall ConnectNamedPipe(long ptr)
>   @ stub ConsoleMenuControl
>   @ stub ConsoleSubst
> diff --git a/dlls/kernel32/locale.c b/dlls/kernel32/locale.c
> index c41442c..83de815 100644
> --- a/dlls/kernel32/locale.c
> +++ b/dlls/kernel32/locale.c
> @@ -3047,6 +3047,14 @@ INT WINAPI CompareStringA(LCID lcid, DWORD flags,
>       return ret;
>   }
>   
> +/******************************************************************************
> + *           CompareStringOrdinal    (KERNEL32.@)
> + */
> +INT WINAPI CompareStringOrdinal(LPCWSTR str1, INT len1, LPCWSTR str2, INT len2, BOOL ignore_case)
> +{
> +    return CompareStringEx(NULL, ignore_case ? NORM_IGNORECASE : 0, str1, len1, str2, len2, NULL, NULL, 0);
> +}
> +
>   /*************************************************************************
>    *           lstrcmp     (KERNEL32.@)
>    *           lstrcmpA    (KERNEL32.@)
This is not a way to do it, it doesn't simply work as that. See 
http://msdn.microsoft.com/en-us/library/windows/desktop/dd318144%28v=vs.85%29.aspx
And it need tests of course.




More information about the wine-devel mailing list