From: Pekka Riikonen Date: Sat, 30 Aug 2008 11:12:00 +0000 (+0300) Subject: Fixed resuming to work even when there are no joined channels X-Git-Tag: silc.client.1.1.5~6 X-Git-Url: http://git.silcnet.org/gitweb/?p=silc.git;a=commitdiff_plain;h=68778effadb54cc42d8da50a30b97e12738415bd Fixed resuming to work even when there are no joined channels --- diff --git a/lib/silcclient/client_register.c b/lib/silcclient/client_register.c index 91b135a4..a3cafe47 100644 --- a/lib/silcclient/client_register.c +++ b/lib/silcclient/client_register.c @@ -563,25 +563,26 @@ SILC_FSM_STATE(silc_client_st_resume_completed) &conn->local_entry->id); /* Call JOIN command replies for all joined channel */ - silc_idcache_get_all(conn->internal->channel_cache, &channels); - silc_list_start(channels); - while ((entry = silc_list_get(channels))) { - SilcHashTableList htl; - const char *cipher, *hmac; - - channel = entry->context; - cipher = (channel->internal.send_key ? - silc_cipher_get_name(channel->internal.send_key) : NULL); - hmac = (channel->internal.hmac ? - silc_hmac_get_name(channel->internal.hmac) : NULL); - silc_hash_table_list(channel->user_list, &htl); - silc_client_resume_command_callback(client, conn, SILC_COMMAND_JOIN, - channel->channel_name, channel, - channel->mode, &htl, channel->topic, - cipher, hmac, channel->founder_key, - channel->channel_pubkeys, - channel->user_limit); - silc_hash_table_list_reset(&htl); + if (silc_idcache_get_all(conn->internal->channel_cache, &channels)) { + silc_list_start(channels); + while ((entry = silc_list_get(channels))) { + SilcHashTableList htl; + const char *cipher, *hmac; + + channel = entry->context; + cipher = (channel->internal.send_key ? + silc_cipher_get_name(channel->internal.send_key) : NULL); + hmac = (channel->internal.hmac ? + silc_hmac_get_name(channel->internal.hmac) : NULL); + silc_hash_table_list(channel->user_list, &htl); + silc_client_resume_command_callback(client, conn, SILC_COMMAND_JOIN, + channel->channel_name, channel, + channel->mode, &htl, channel->topic, + cipher, hmac, channel->founder_key, + channel->channel_pubkeys, + channel->user_limit); + silc_hash_table_list_reset(&htl); + } } conn->internal->registering = FALSE;