Ivan Krasilnikov wrote:

> I confirm the problem. Looks like there's a bug in UTF-8 handling in
> function mb_strnicmp() in mbyte.c, specifically in the following "if"
> which was introduced by patch 7.3.040:
> 
> /* Don't case-fold illegal bytes or truncated characters. */
> if (utf_ptr2len(s1 + i) < l || utf_ptr2len(s2 + i) < l)
>   return -1;
> 
> The check "utf_ptr2len(s2 + i) < l" is wrong.

Yes, this code just returns -1, no matter if the first or second string
is bigger.

Your other remark about difference in byte length of a character is
right, but it's not so easy to fix.  Can you suggest a patch?
Preferably with a test.


-- 
To be rich is not the end, but only a change of worries.

 /// Bram Moolenaar -- [email protected] -- http://www.Moolenaar.net   \\\
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\  an exciting new programming language -- http://www.Zimbu.org        ///
 \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///

-- 
You received this message from the "vim_use" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

Reply via email to