From 4590e3da98b250317145c92090a8caf41c92c925 Mon Sep 17 00:00:00 2001 From: Bruno Haible Date: Sun, 10 Jan 2010 23:11:54 +0100 Subject: unistr/u*-strcoll: Try harder to distinguish different strings. --- lib/unistr/u-strcoll.h | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'lib/unistr') diff --git a/lib/unistr/u-strcoll.h b/lib/unistr/u-strcoll.h index e1dc713819..9ec5c60170 100644 --- a/lib/unistr/u-strcoll.h +++ b/lib/unistr/u-strcoll.h @@ -41,6 +41,12 @@ FUNC (const UNIT *s1, const UNIT *s2) /* 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 { -- cgit v1.2.1