X-Git-Url: http://git.silcnet.org/gitweb/?a=blobdiff_plain;f=apps%2Fsilcd%2Fserver.c;h=1fca355bab1e7e09d2a66181482cf68e9847fb3e;hb=2a7c9ce661a9d263c6486827533ac7dee3d65278;hp=32b81b54985d003e1911c0f89cf249251313d189;hpb=585dfe7568ae737e159b9da637cbe5a704d0812a;p=silc.git diff --git a/apps/silcd/server.c b/apps/silcd/server.c index 32b81b54..1fca355b 100644 --- a/apps/silcd/server.c +++ b/apps/silcd/server.c @@ -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'. */