char *name, *info;
SilcClientID client_id;
SilcServerID server_id;
- SilcChannelID*channel_id;
+ SilcChannelID channel_id;
SilcClientEntry client;
SilcServerEntry server_entry;
SilcChannelEntry channel;
to global list since server didn't have it in the lists so it must be
global. */
client = silc_idlist_add_client(server->global_list,
- nick[0] ? strdup(nick) : NULL,
+ nick[0] ? strdup(nick) : NULL,
info ? strdup(info) : NULL, NULL,
silc_id_dup(&client_id, SILC_ID_CLIENT),
silc_packet_get_context(cmd->sock),
if (!channel) {
SilcBuffer idp;
- if (server->server_type != SILC_SERVER)
+ if (cmd->pending || server->server_type != SILC_SERVER)
goto out;
idp = silc_id_payload_encode(SILC_ID_GET_ID(id), SILC_ID_CHANNEL);
silc_server_command_pending(server, SILC_COMMAND_IDENTIFY,
server->cmd_ident,
silc_server_command_reply_users, cmd);
+
+ cmd->pending = TRUE;
return;
}
}
SilcServerCommandPendingCallbacks callbacks;
SilcUInt32 callbacks_count;
SilcUInt16 ident;
+ unsigned int pending : 1;
} *SilcServerCommandReplyContext;
/* Macros */