I have been investigating a regression in the functionality of QuArK, a popular level editor for Quake. The regression is filed as bug #2159. I have identified the cause of the regression as changes made to CompareStringW from revision 1.25 to revision 1.26 of wine/dlls/kernel/locale.c. I do not know how to proceed from here.
The relevant modification is changing CompareStringW from calling strncmpiW/strncmpW to calling wine_compare_string. I hacked my code to call both the new and old version and print out whenever the two return different values. Calling wine_compare_string seems to have changed the behavior of comparing strings that have accent marks with strings that don't have accent marks when the NORM_IGNORECASE flag is set.
I don't understand unicode collation, nor do I know how QuArK is using CompareStringW. I don't doubt that CompareStringW should call wine_compare_string, but if this is a bug in wine_compare_string, I don't know how to fix it.
Does anyone have any suggestions on what my next step should be?
Thanks,
David Costanzo
__________________________________ Do you Yahoo!? Yahoo! Photos: High-quality 4x6 digital prints for 25� http://photos.yahoo.com/ph/print_splash