Mercurial > hg > octave-lojdl > gnulib-hg
changeset 12624:91e18087c6ac
unistr/u*-strcoll: Try harder to distinguish different strings.
author | Bruno Haible <bruno@clisp.org> |
---|---|
date | Sun, 10 Jan 2010 23:11:54 +0100 |
parents | b982684dce8f |
children | 8314fb7892a5 |
files | ChangeLog lib/unistr/u-strcoll.h |
diffstat | 2 files changed, 12 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2010-01-10 Bruno Haible <bruno@clisp.org> + + unistr/u*-strcoll: Try harder to distinguish different strings. + * lib/unistr/u-strcoll.h (FUNC): When sl1 and sl2 are the same, + compare s1 and s2 to see if they are different. + 2010-01-10 Bruno Haible <bruno@clisp.org> unistr/u*-stpncpy: Fix the return value.
--- a/lib/unistr/u-strcoll.h +++ b/lib/unistr/u-strcoll.h @@ -41,6 +41,12 @@ /* strcoll succeeded. */ free (sl1); free (sl2); + /* The conversion to locale encoding can do transliteration or + map some characters to question marks. Therefore sl1 and sl2 + may be equal when s1 and s2 were in fact different. Return a + nonzero result in this case. */ + if (result == 0) + result = U_STRCMP (s1, s2); } else {