> This happens because apr_fnmatch does not handle UTF8 character and
> pass UTF lead char to tolower() call. There is already XXX comment in
> apr\strings\apr_fnmatch.c:121

Yes, apr_fnmatch() doesn't support multi-byte characters yet.
And it never has. But the fnmatch implementation was changed
in APR-1.4.5, so it is possible that this problem didn't trigger
with the old implementation.

> Easy solution could be use apr_fnmatch without APR_FNM_CASE_BLIND and
> make svn --search case-sensitive. Alternative solution is convert
> search pattern and search string to lower case before passing to
> apr_fnmatch.

How is lower-casing a multi-byte UTF-8 character going to help?
Won't the lower-case equivalent still be a multibyte character
and trigger the overflow check in Visual Studio?

> And third option is to fix apr_fnmatch().

I'd very much like to do that, actually. Just have to find time.
Received on 2013-04-20 12:28:19 CEST