From 70b2a4866e58a45bc339f9fbb5622b9ffd71a0d4 Mon Sep 17 00:00:00 2001 From: Pekka Riikonen Date: Thu, 14 Feb 2002 15:03:32 +0000 Subject: [PATCH] updates --- CHANGES | 6 ++++++ lib/silcclient/client_channel.c | 10 ++++++++++ 2 files changed, 16 insertions(+) diff --git a/CHANGES b/CHANGES index b42eb884..3a5df357 100644 --- a/CHANGES +++ b/CHANGES @@ -1,3 +1,9 @@ +Thu Feb 14 16:02:26 CET 2002 Pekka Riikonen + + * Add the client on channel after it was resolved at the + channel message receiving, and it was not already on the + channel. Affected file lib/silcclient/client_channel.c. + Wed Feb 13 23:16:41 EET 2002 Pekka Riikonen * Fixed the public key authentication to allocate always the diff --git a/lib/silcclient/client_channel.c b/lib/silcclient/client_channel.c index 0ac903df..4f89d727 100644 --- a/lib/silcclient/client_channel.c +++ b/lib/silcclient/client_channel.c @@ -177,6 +177,16 @@ static void silc_client_channel_message_cb(SilcClient client, if (!channel) goto out; + /* If this client is not on channel, add it there since it clearly + is there. */ + if (!silc_client_on_channel(channel, clients[0])) { + SilcChannelUser chu = silc_calloc(1, sizeof(*chu)); + chu->client = clients[0]; + chu->channel = channel; + silc_hash_table_add(channel->user_list, clients[0], chu); + silc_hash_table_add(clients[0]->channels, channel, chu); + } + message = silc_channel_message_get_data(res->payload, NULL); /* Pass the message to application */ -- 2.24.0