Handle the resolver counter correctly in get_users_by_channel
authorPekka Riikonen <priikone@silcnet.org>
Thu, 7 Apr 2005 17:25:03 +0000 (17:25 +0000)
committerPekka Riikonen <priikone@silcnet.org>
Thu, 7 Apr 2005 17:25:03 +0000 (17:25 +0000)
callback.

CHANGES
lib/silcclient/idlist.c

diff --git a/CHANGES b/CHANGES
index e3068e8bfccbf0748d1c9b9c1ca694396604ae08..751249b57abdfb8e26c98d070c16aecc4370d1fa 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -7,6 +7,10 @@ Thu Apr  7 14:50:01 EEST 2005  Pekka Riikonen <priikone@silcnet.org>
        * Check for valid channel creation in JOIN command reply.
          Affected file lib/silcclient/command_reply.c.
 
+       * Handle the resolver counter in silc_client_get_users_by_channel
+         callback correctly.  Fixed auto-join bug in Gaim.  Affected
+         file lib/silcclient/idlist.c.
+
 Wed Apr  6 16:56:53 EEST 2005  Pekka Riikonen <priikone@silcnet.org>
 
        * Added some better error messages.  Affected file
index 51cba4e3905e335cd41d660927a8afe15678b9b9..2e5d61befc3cdd7267e0d668b3617bf44588c7fe 100644 (file)
@@ -700,6 +700,12 @@ SILC_CLIENT_CMD_FUNC(get_clients_by_channel_cb)
   SilcHashTableList htl;
   SilcChannelUser chu;
 
+  if (i->res_count) {
+    i->res_count--;
+    if (i->res_count)
+      return;
+  }
+
   channel = silc_client_get_channel_by_id(i->client, i->conn, &i->channel_id);
   if (channel && !silc_hash_table_count(channel->user_list)) {
     clients = silc_calloc(silc_hash_table_count(channel->user_list),