summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/core/nicklist.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/core/nicklist.c b/src/core/nicklist.c
index 9689a132..c2ad44d8 100644
--- a/src/core/nicklist.c
+++ b/src/core/nicklist.c
@@ -60,11 +60,12 @@ static void nick_hash_remove(CHANNEL_REC *channel, NICK_REC *nick)
if (list == NULL)
return;
- if (list->next == NULL)
+ if (list == nick || list->next == NULL) {
g_hash_table_remove(channel->nicks, nick->nick);
- else if (list == nick) {
- g_hash_table_insert(channel->nicks, nick->next->nick,
- nick->next);
+ if (list == nick) {
+ g_hash_table_insert(channel->nicks, nick->next->nick,
+ nick->next);
+ }
} else {
while (list->next != nick)
list = list->next;