updates.
[silc.git] / lib / silcclient / idlist.c
index 29752426126ab5a8f3ef65d5968108bda46b8e2f..07e060cc94f0d9ae8431ad0ba3512acb400c593e 100644 (file)
@@ -298,8 +298,6 @@ void silc_client_get_clients_by_list(SilcClient client,
     silc_free(client_id);
     silc_buffer_pull(client_id_list, idp_len);
   }
-  silc_buffer_push(client_id_list, client_id_list->data - 
-                  client_id_list->head);
 
   /* Query the client information from server if the list included clients
      that we don't know about. */
@@ -320,6 +318,8 @@ void silc_client_get_clients_by_list(SilcClient client,
                                silc_client_command_get_clients_list_callback, 
                                (void *)in);
 
+    silc_buffer_push(client_id_list, client_id_list->data - 
+                    client_id_list->head);
     silc_buffer_free(res_cmd);
     silc_free(res_argv);
     silc_free(res_argv_lens);
@@ -327,6 +327,9 @@ void silc_client_get_clients_by_list(SilcClient client,
     return;
   }
 
+  silc_buffer_push(client_id_list, client_id_list->data - 
+                  client_id_list->head);
+
   /* We have the clients in cache, get them and call the completion */
   silc_client_command_get_clients_list_callback((void *)in);
 }
@@ -499,7 +502,7 @@ void silc_client_get_client_by_id_resolve(SilcClient client,
       
   /* Add pending callback */
   silc_client_command_pending(conn, SILC_COMMAND_WHOIS, 
-                             ++conn->cmd_ident, 
+                             conn->cmd_ident, 
                              silc_client_get_client_by_id_destructor,
                              silc_client_command_get_client_by_id_callback, 
                              (void *)i);