projects
/
silc.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
updates.
[silc.git]
/
apps
/
silcd
/
command.c
diff --git
a/apps/silcd/command.c
b/apps/silcd/command.c
index 5221c09efd9079f105257f52ae8408e272366703..807faee2cf8743ed787d06a14f15ee52bc19eb36 100644
(file)
--- a/
apps/silcd/command.c
+++ b/
apps/silcd/command.c
@@
-2165,7
+2165,7
@@
silc_server_command_list_send_reply(SilcServerCommandContext cmd,
memset(usercount, 0, sizeof(usercount));
} else {
topic = entry->topic;
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);
}
SILC_PUT32_MSB(users, usercount);
}
@@
-3141,10
+3141,8
@@
static void silc_server_command_join_channel(SilcServer server,
if (channel->mode & SILC_CHANNEL_MODE_PASSPHRASE) {
/* Get passphrase */
tmp = silc_argument_get_arg_type(cmd->args, 3, &tmp_len);
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))) {
if (!passphrase || !channel->passphrase ||
memcmp(passphrase, channel->passphrase, strlen(channel->passphrase))) {
@@
-3187,6
+3185,7
@@
static void silc_server_command_join_channel(SilcServer server,
chl->channel = channel;
silc_hash_table_add(channel->user_list, client, chl);
silc_hash_table_add(client->channels, channel, chl);
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,
/* Get users on the channel */
silc_server_get_users_on_channel(server, channel, &user_list, &mode_list,
@@
-4108,9
+4107,7
@@
SILC_SERVER_CMD_FUNC(cmode)
if (channel->founder_method == SILC_AUTH_PASSWORD) {
tmp = silc_auth_get_data(auth, &tmp_len);
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 */
channel->founder_passwd_len = tmp_len;
} else {
/* Verify the payload before setting the mode */