Hi Daniel,
On 2/10/19 7:55 PM, Daniel Lehman wrote:
> --- a/dlls/msvcrt/wcs.c
> +++ b/dlls/msvcrt/wcs.c
> @@ -2491,6 +2491,9 @@ int CDECL MSVCRT__towupper_l(MSVCRT_wint_t c, MSVCRT__locale_t locale)
> return c;
> }
>
> + if(c == 0x131) /* special case for small dotless i */
> + return c;
> +
> return toupperW(c);
You shouldn't need to handle this case separately. You have even added a
test that shows that LCMapStringEx(..., LCMAP_UPPERCASE, buffer
containing 0x131, ...) should not change 0x131 character. It should be
fixed somewhere else (if needed toupperW may be changed to e.g.
LCMapString call).
One possible option is to apply changes in make_unicode, there is a staging patch that changes generated tables directly, which is obviously not ideal.
Thanks,
Piotr