updates. New data types.
[silc.git] / lib / silcclient / idlist.c
index 29752426126ab5a8f3ef65d5968108bda46b8e2f..f18f073069dfecfe41acd52ac476e95f2a613e79 100644 (file)
@@ -34,7 +34,7 @@ SILC_CLIENT_CMD_FUNC(get_client_callback)
 {
   GetClientInternal i = (GetClientInternal)context;
   SilcClientEntry *clients;
-  unsigned int clients_count;
+  uint32 clients_count;
 
   /* Get the clients */
   clients = silc_client_get_clients_local(i->cmd->client, i->cmd->conn,
@@ -116,7 +116,7 @@ SilcClientEntry *silc_client_get_clients_local(SilcClient client,
                                               SilcClientConnection conn,
                                               char *nickname,
                                               char *server,
-                                              unsigned int *clients_count)
+                                              uint32 *clients_count)
 {
   SilcIDCacheEntry id_cache;
   SilcIDCacheList list = NULL;
@@ -173,7 +173,7 @@ SilcClientEntry *silc_client_get_clients_local(SilcClient client,
 typedef struct {
   SilcClient client;
   SilcClientConnection conn;
-  unsigned int list_count;
+  uint32 list_count;
   SilcBuffer client_id_list;
   SilcGetClientCallback completion;
   void *context;
@@ -186,11 +186,11 @@ SILC_CLIENT_CMD_FUNC(get_clients_list_callback)
   SilcIDCacheEntry id_cache = NULL;
   SilcBuffer client_id_list = i->client_id_list;
   SilcClientEntry *clients = NULL;
-  unsigned int clients_count = 0;
+  uint32 clients_count = 0;
   int c;
 
   for (c = 0; c < i->list_count; c++) {
-    unsigned short idp_len;
+    uint16 idp_len;
     SilcClientID *client_id;
 
     /* Get Client ID */
@@ -241,7 +241,7 @@ static void silc_client_get_clients_list_destructor(void *context)
 
 void silc_client_get_clients_by_list(SilcClient client,
                                     SilcClientConnection conn,
-                                    unsigned int list_count,
+                                    uint32 list_count,
                                     SilcBuffer client_id_list,
                                     SilcGetClientCallback completion,
                                     void *context)
@@ -249,7 +249,7 @@ void silc_client_get_clients_by_list(SilcClient client,
   SilcIDCacheEntry id_cache = NULL;
   int i;
   unsigned char **res_argv = NULL;
-  unsigned int *res_argv_lens = NULL, *res_argv_types = NULL, res_argc = 0;
+  uint32 *res_argv_lens = NULL, *res_argv_types = NULL, res_argc = 0;
   GetClientsByListInternal in;
 
   in = silc_calloc(1, sizeof(*in));
@@ -261,7 +261,7 @@ void silc_client_get_clients_by_list(SilcClient client,
   in->context = context;
 
   for (i = 0; i < list_count; i++) {
-    unsigned short idp_len;
+    uint16 idp_len;
     SilcClientID *client_id;
     SilcClientEntry entry;
 
@@ -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);
 }
@@ -340,7 +343,7 @@ SilcClientEntry silc_idlist_get_client(SilcClient client,
                                       SilcClientConnection conn,
                                       char *nickname,
                                       char *server,
-                                      unsigned int num,
+                                      uint32 num,
                                       int query)
 {
   SilcIDCacheEntry id_cache;
@@ -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);