From c476ff1b4e7e592d6c7df19c206011711f5e1f3b Mon Sep 17 00:00:00 2001 From: Stefan Becker Date: Mon, 14 Jun 2010 17:13:25 +0300 Subject: [PATCH] Fix broken sipe_ht_equals_nick() In commit 99cd5c6ab1c4fe3007d3a4603dadad905359ae75 I replaced purple util.h functions for the core cleanup. Unfortunately there was a typo in the hash table string compare function which caused only the second string to be compared to itself, i.e. the function always returned TRUE. This of course causes havoc for the hash table functionality. The broken hash table functionality was noticed by a RHEL5 user. On that platform the hash bucket size seems to be smaller and thus the broken broken behaviour more likely. The broken code has been in the 1.10.0 release. As it affects the buddy list it could be the root cause for some of the "buddy appears offline" reports. --- src/core/sipe.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/core/sipe.c b/src/core/sipe.c index d036000b..5a146f54 100644 --- a/src/core/sipe.c +++ b/src/core/sipe.c @@ -5794,7 +5794,7 @@ static gboolean sipe_ht_equals_nick(const char *nick1, const char *nick2) nick1_norm = g_utf8_casefold(nick1, -1); nick2_norm = g_utf8_casefold(nick2, -1); - equal = g_utf8_collate(nick2_norm, nick2_norm) == 0; + equal = g_utf8_collate(nick1_norm, nick2_norm) == 0; g_free(nick2_norm); g_free(nick1_norm); -- 2.11.4.GIT