summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTimo Sirainen <cras@irssi.org>2001-02-20 00:33:51 +0000
committercras <cras@dbcabf3a-b0e7-0310-adc4-f8d773084564>2001-02-20 00:33:51 +0000
commit43323fd24cc9329b4e6cc6de952ec6e9b924c5f7 (patch)
tree6cc6c95351ad657287f350cbe4d54f339a15c7b5
parentc3cebfd93db339cf2f1baa79da14b5399f8a6ec3 (diff)
downloadirssi-43323fd24cc9329b4e6cc6de952ec6e9b924c5f7.zip
multi identical nick fixes
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@1263 dbcabf3a-b0e7-0310-adc4-f8d773084564
-rw-r--r--src/fe-common/core/fe-messages.c17
1 files changed, 9 insertions, 8 deletions
diff --git a/src/fe-common/core/fe-messages.c b/src/fe-common/core/fe-messages.c
index 20f6c7e2..e8435414 100644
--- a/src/fe-common/core/fe-messages.c
+++ b/src/fe-common/core/fe-messages.c
@@ -501,14 +501,9 @@ static void sig_message_topic(SERVER_REC *server, const char *channel,
static int printnick_exists(NICK_REC *first, NICK_REC *ignore,
const char *nick)
{
- char *str;
-
while (first != NULL) {
- if (first != ignore) {
- str = g_hash_table_lookup(printnicks, first->nick);
- if (str != NULL && strcmp(str, nick) == 0)
- return TRUE;
- }
+ if (first != ignore && strcmp(first->nick, nick) == 0)
+ return TRUE;
first = first->next;
}
@@ -556,7 +551,13 @@ static void sig_nicklist_new(CHANNEL_REC *channel, NICK_REC *nick)
static void sig_nicklist_remove(CHANNEL_REC *channel, NICK_REC *nick)
{
- g_hash_table_remove(printnicks, nick);
+ char *nickname;
+
+ nickname = g_hash_table_lookup(printnicks, nick);
+ if (nickname != NULL) {
+ g_free(nickname);
+ g_hash_table_remove(printnicks, nick);
+ }
}
static void sig_nicklist_changed(CHANNEL_REC *channel, NICK_REC *nick)