memset(usercount, 0, sizeof(usercount));
} else {
topic = entry->topic;
- users = silc_hash_table_count(entry->user_list);
+ users = entry->user_count;
SILC_PUT32_MSB(users, usercount);
}
if (channel->mode & SILC_CHANNEL_MODE_PASSPHRASE) {
/* Get passphrase */
tmp = silc_argument_get_arg_type(cmd->args, 3, &tmp_len);
- if (tmp) {
- passphrase = silc_calloc(tmp_len, sizeof(*passphrase));
- memcpy(passphrase, tmp, tmp_len);
- }
+ if (tmp)
+ passphrase = silc_memdup(tmp, tmp_len);
if (!passphrase || !channel->passphrase ||
memcmp(passphrase, channel->passphrase, strlen(channel->passphrase))) {
chl->channel = channel;
silc_hash_table_add(channel->user_list, client, chl);
silc_hash_table_add(client->channels, channel, chl);
+ channel->user_count++;
/* Get users on the channel */
silc_server_get_users_on_channel(server, channel, &user_list, &mode_list,
if (channel->founder_method == SILC_AUTH_PASSWORD) {
tmp = silc_auth_get_data(auth, &tmp_len);
- channel->founder_passwd =
- silc_calloc(tmp_len + 1, sizeof(*channel->founder_passwd));
- memcpy(channel->founder_passwd, tmp, tmp_len);
+ channel->founder_passwd = silc_memdup(tmp, tmp_len);
channel->founder_passwd_len = tmp_len;
} else {
/* Verify the payload before setting the mode */
SilcClientEntry client = (SilcClientEntry)cmd->sock->user_data;
unsigned char *username, *auth;
uint32 tmp_len;
- SilcServerConfigSectionAdmin *admin;
+ SilcServerConfigAdmin *admin;
SilcIDListData idata = (SilcIDListData)client;
bool result = FALSE;
SilcClientEntry client = (SilcClientEntry)cmd->sock->user_data;
unsigned char *username, *auth;
uint32 tmp_len;
- SilcServerConfigSectionAdmin *admin;
+ SilcServerConfigAdmin *admin;
SilcIDListData idata = (SilcIDListData)client;
bool result = FALSE;