http://bugs.winehq.org/show_bug.cgi?id=2159
xerox_xerox2000@yahoo.co.uk changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |dmitry@codeweavers.com
------- Additional Comments From xerox_xerox2000@yahoo.co.uk 2006-25-01 06:40 ------- Added author of the patch (http://cvs.winehq.org/cvsweb/wine/dlls/kernel/locale.c.diff?r1=1.25&r2=1...) that broke Quark. I can confirm it's still broken and reverting the patch makes it work again (against current cvs the patch looks like this: --- locale.c 2006-01-25 08:40:33.000000000 -0500 +++ locale.c_ 2006-01-25 08:41:35.000000000 -0500 @@ -2339,7 +2339,7 @@ INT WINAPI CompareStringW(LCID lcid, DWORD style, LPCWSTR str1, INT len1, LPCWSTR str2, INT len2) { - INT ret,len; + INT ret;
if (!str1 || !str2) { @@ -2360,17 +2360,11 @@ if (len1 < 0) len1 = strlenW(str1); if (len2 < 0) len2 = strlenW(str2);
- len = (len1 < len2) ? len1 : len2; - ret = (style & NORM_IGNORECASE) ? strncmpiW(str1, str2, len) : - strncmpW(str1, str2, len); - - if (ret) /* need to translate result */ - return (ret < 0) ? CSTR_LESS_THAN : CSTR_GREATER_THAN; + ret = wine_compare_string(style, str1, len1, str2, len2);
- - if (len1 == len2) return CSTR_EQUAL; - /* the longer one is lexically greater */ - return (len1 < len2) ? CSTR_LESS_THAN : CSTR_GREATER_THAN; + if (ret) /* need to translate result */ + return (ret < 0) ? CSTR_LESS_THAN : CSTR_GREATER_THAN; + return CSTR_EQUAL; }
/******************************************************************************