} else {
chanrec = silc_channel_find_entry(server, channel);
if (chanrec != NULL) {
- SilcChannelUser user;
-
- silc_list_start(chanrec->entry->clients);
- while ((user = silc_list_get(chanrec->entry->clients)) != NULL)
- if (user->client == client) {
- nickrec = silc_nicklist_insert(chanrec, user, TRUE);
- break;
- }
+ SilcChannelUser chu = silc_client_on_channel(channel, client);
+ if (chu)
+ nickrec = silc_nicklist_insert(chanrec, chu, TRUE);
}
}
char userhost[256];
SilcIdType idtype;
- idtype = va_arg(va, int);
+ idtype = va_arg(va, SilcIdType);
entry = va_arg(va, void *);
topic = va_arg(va, char *);
channel = va_arg(va, SilcChannelEntry);
channel = va_arg(va, SilcChannelEntry);
mode = silc_client_chmode(modei,
- channel->channel_key->cipher->name,
- silc_hmac_get_name(channel->hmac));
-
+ channel->channel_key ?
+ channel->channel_key->cipher->name : "",
+ channel->hmac ?
+ silc_hmac_get_name(channel->hmac) : "");
+
chanrec = silc_channel_find_entry(server, channel);
if (chanrec != NULL) {
g_free_not_null(chanrec->mode);