updates.
[silc.git] / apps / silcd / server.c
index 32b81b54985d003e1911c0f89cf249251313d189..d971bd157527a4a1cb538c4efcb45ece2a93eb29 100644 (file)
@@ -1156,7 +1156,7 @@ silc_server_accept_new_connection_lookup(SilcSocketConnection sock,
     if (!(rconfig = silc_server_config_find_router_conn(server,
                                                        sock->ip, port)))
       rconfig = silc_server_config_find_router_conn(server, sock->hostname,
-                                                   sock->port);
+                                                   port);
   }
   if (!cconfig && !sconfig && !rconfig) {
     SILC_LOG_INFO(("Connection %s (%s) is not allowed", sock->hostname,
@@ -3891,7 +3891,7 @@ SILC_TASK_CALLBACK(silc_server_failure_callback)
 
 /* Assembles user list and users mode list from the `channel'. */
 
-void silc_server_get_users_on_channel(SilcServer server,
+bool silc_server_get_users_on_channel(SilcServer server,
                                      SilcChannelEntry channel,
                                      SilcBuffer *user_list,
                                      SilcBuffer *mode_list,
@@ -3904,6 +3904,9 @@ void silc_server_get_users_on_channel(SilcServer server,
   SilcBuffer idp;
   SilcUInt32 list_count = 0, len = 0;
 
+  if (!silc_hash_table_count(channel->user_list))
+    return FALSE;
+
   silc_hash_table_list(channel->user_list, &htl);
   while (silc_hash_table_get(&htl, NULL, (void *)&chl))
     len += (silc_id_get_len(chl->client->id, SILC_ID_CLIENT) + 4);
@@ -3938,6 +3941,7 @@ void silc_server_get_users_on_channel(SilcServer server,
   *user_list = client_id_list;
   *mode_list = client_mode_list;
   *user_count = list_count;
+  return TRUE;
 }
 
 /* Saves users and their modes to the `channel'. */