+ if (!silc_idcache_del_by_context(id_list->channels, entry)) {
+ SILC_LOG_DEBUG(("Unknown channel, did not delete"));
+ return FALSE;
+ }
+
+ SILC_LOG_DEBUG(("Deleting channel %s", entry->channel_name));
+
+ /* Free all client entrys from the users list. The silc_hash_table_free
+ will free all the entries so they are not freed at the foreach
+ callback. */
+ silc_hash_table_foreach(entry->user_list, silc_idlist_del_channel_foreach,
+ NULL);
+ silc_hash_table_free(entry->user_list);