/* SYNTAX: NICK <nickname> */
/* SYNTAX: NOTICE <message> */
/* SYNTAX: PART [<channel>] */
-/* SYNTAX: PING [<server>] */
+/* SYNTAX: PING */
/* SYNTAX: SCONNECT <server> [<port>] */
/* SYNTAX: USERS <channel> */
ctx->argv_types = argv_types;
/* Execute command */
- (*cmd->cb)(ctx);
+ (*cmd->cb)(ctx, NULL);
}
/* Generic command function to call any SILC command directly. */
-static void command_self(const char *data, SILC_SERVER_REC *server)
+static void command_self(const char *data, SILC_SERVER_REC *server,
+ WI_ITEM_REC *item)
{
if (!IS_SILC_SERVER(server) || !server->connected) {
printtext(NULL, NULL, MSGLEVEL_CLIENTERROR, "Not connected to server");
return;
}
+ if (IS_SILC_CHANNEL(item)) {
+ SILC_CHANNEL_REC *chanrec;
+ chanrec = silc_channel_find(server, item->name);
+ if (chanrec)
+ server->conn->current_channel = chanrec->entry;
+ }
+
silc_command_exec(server, current_command, data);
signal_stop();
}