summaryrefslogtreecommitdiff
path: root/src/fe-common/irc/fe-irc-commands.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/fe-common/irc/fe-irc-commands.c')
-rw-r--r--src/fe-common/irc/fe-irc-commands.c89
1 files changed, 24 insertions, 65 deletions
diff --git a/src/fe-common/irc/fe-irc-commands.c b/src/fe-common/irc/fe-irc-commands.c
index f69e0500..dd100e39 100644
--- a/src/fe-common/irc/fe-irc-commands.c
+++ b/src/fe-common/irc/fe-irc-commands.c
@@ -21,16 +21,16 @@
#include "module.h"
#include "module-formats.h"
#include "signals.h"
-#include "commands.h"
#include "misc.h"
#include "special-vars.h"
#include "settings.h"
#include "levels.h"
-#include "irc.h"
#include "servers.h"
#include "mode-lists.h"
#include "nicklist.h"
+#include "irc-commands.h"
+#include "irc-servers.h"
#include "irc-channels.h"
#include "irc-queries.h"
@@ -56,8 +56,7 @@ static char *skip_target(char *target)
/* SYNTAX: ME <message> */
static void cmd_me(const char *data, IRC_SERVER_REC *server, WI_ITEM_REC *item)
{
- g_return_if_fail(data != NULL);
-
+ CMD_IRC_SERVER(server);
if (!IS_IRC_ITEM(item))
return;
@@ -76,9 +75,7 @@ static void cmd_action(const char *data, IRC_SERVER_REC *server)
char *target, *text;
void *free_arg;
- g_return_if_fail(data != NULL);
- if (server == NULL || !server->connected)
- cmd_return_error(CMDERR_NOT_CONNECTED);
+ CMD_IRC_SERVER(server);
if (!cmd_get_params(data, &free_arg, 2 | PARAM_FLAG_GETREST,
&target, &text))
@@ -98,9 +95,7 @@ static void cmd_notice(const char *data, IRC_SERVER_REC *server)
char *target, *msg;
void *free_arg;
- g_return_if_fail(data != NULL);
- if (server == NULL || !server->connected)
- cmd_return_error(CMDERR_NOT_CONNECTED);
+ CMD_IRC_SERVER(server);
if (!cmd_get_params(data, &free_arg, 2 | PARAM_FLAG_GETREST,
&target, &msg))
@@ -118,9 +113,7 @@ static void cmd_ctcp(const char *data, IRC_SERVER_REC *server)
char *target, *ctcpcmd, *ctcpdata;
void *free_arg;
- g_return_if_fail(data != NULL);
- if (server == NULL || !server->connected)
- cmd_return_error(CMDERR_NOT_CONNECTED);
+ CMD_IRC_SERVER(server);
if (!cmd_get_params(data, &free_arg, 3 | PARAM_FLAG_GETREST,
&target, &ctcpcmd, &ctcpdata))
@@ -148,9 +141,7 @@ static void cmd_nctcp(const char *data, IRC_SERVER_REC *server)
char *target, *text;
void *free_arg;
- g_return_if_fail(data != NULL);
- if (server == NULL || !server->connected)
- cmd_return_error(CMDERR_NOT_CONNECTED);
+ CMD_IRC_SERVER(server);
if (!cmd_get_params(data, &free_arg, 2 | PARAM_FLAG_GETREST,
&target, &text))
@@ -170,9 +161,7 @@ static void cmd_wall(const char *data, IRC_SERVER_REC *server,
char *channame, *msg;
void *free_arg;
- g_return_if_fail(data != NULL);
- if (server == NULL || !server->connected || !IS_IRC_SERVER(server))
- cmd_return_error(CMDERR_NOT_CONNECTED);
+ CMD_IRC_SERVER(server);
if (!cmd_get_params(data, &free_arg, 2 | PARAM_FLAG_OPTCHAN |
PARAM_FLAG_GETREST, item, &channame, &msg))
@@ -249,9 +238,7 @@ static void cmd_ban(const char *data, IRC_SERVER_REC *server,
char *channel, *nicks;
void *free_arg;
- g_return_if_fail(data != NULL);
- if (server == NULL || !server->connected)
- cmd_return_error(CMDERR_NOT_CONNECTED);
+ CMD_IRC_SERVER(server);
if (!cmd_get_params(data, &free_arg, 2 |
PARAM_FLAG_OPTCHAN | PARAM_FLAG_GETREST,
@@ -290,8 +277,7 @@ static void cmd_invitelist(const char *data, IRC_SERVER_REC *server, WI_ITEM_REC
IRC_CHANNEL_REC *channel, *cur_channel;
GSList *tmp;
- g_return_if_fail(data != NULL);
- if (server == NULL || !server->connected) cmd_return_error(CMDERR_NOT_CONNECTED);
+ CMD_IRC_SERVER(server);
cur_channel = IRC_CHANNEL(item);
if (cur_channel == NULL) cmd_return_error(CMDERR_NOT_JOINED);
@@ -317,28 +303,6 @@ static void cmd_invitelist(const char *data, IRC_SERVER_REC *server, WI_ITEM_REC
}
}
-static void cmd_join(const char *data, IRC_SERVER_REC *server)
-{
- if ((*data == '\0' || g_strncasecmp(data, "-invite", 7) == 0) &&
- server != NULL && server->last_invite == NULL) {
- printformat(NULL, NULL, MSGLEVEL_CLIENTNOTICE, IRCTXT_NOT_INVITED);
- signal_stop();
- }
-}
-
-static void cmd_nick(const char *data, IRC_SERVER_REC *server)
-{
- g_return_if_fail(data != NULL);
-
- if (*data != '\0') return;
- if (server == NULL || !server->connected)
- cmd_return_error(CMDERR_NOT_CONNECTED);
-
- /* display current nick */
- printformat(NULL, NULL, MSGLEVEL_CLIENTNOTICE, IRCTXT_YOUR_NICK, server->nick);
- signal_stop();
-}
-
/* SYNTAX: VER [<target>] */
static void cmd_ver(gchar *data, IRC_SERVER_REC *server, WI_ITEM_REC *item)
{
@@ -346,8 +310,7 @@ static void cmd_ver(gchar *data, IRC_SERVER_REC *server, WI_ITEM_REC *item)
g_return_if_fail(data != NULL);
- if (!IS_IRC_SERVER(server) || !server->connected)
- cmd_return_error(CMDERR_NOT_CONNECTED);
+ CMD_IRC_SERVER(server);
if (*data == '\0' && !IS_IRC_ITEM(item))
cmd_return_error(CMDERR_NOT_JOINED);
@@ -465,21 +428,19 @@ static void cmd_sethost(const char *data, IRC_SERVER_REC *server)
void fe_irc_commands_init(void)
{
- command_bind_last("me", NULL, (SIGNAL_FUNC) cmd_me);
- command_bind_last("action", NULL, (SIGNAL_FUNC) cmd_action);
- command_bind("notice", NULL, (SIGNAL_FUNC) cmd_notice);
- command_bind("ctcp", NULL, (SIGNAL_FUNC) cmd_ctcp);
- command_bind("nctcp", NULL, (SIGNAL_FUNC) cmd_nctcp);
- command_bind("wall", NULL, (SIGNAL_FUNC) cmd_wall);
- command_bind("ban", NULL, (SIGNAL_FUNC) cmd_ban);
- command_bind("invitelist", NULL, (SIGNAL_FUNC) cmd_invitelist);
- command_bind("join", NULL, (SIGNAL_FUNC) cmd_join);
- command_bind("nick", NULL, (SIGNAL_FUNC) cmd_nick);
- command_bind("ver", NULL, (SIGNAL_FUNC) cmd_ver);
- command_bind("topic", NULL, (SIGNAL_FUNC) cmd_topic);
- command_bind("ts", NULL, (SIGNAL_FUNC) cmd_ts);
- command_bind("oper", NULL, (SIGNAL_FUNC) cmd_oper);
- command_bind("sethost", NULL, (SIGNAL_FUNC) cmd_sethost);
+ command_bind_irc_last("me", NULL, (SIGNAL_FUNC) cmd_me);
+ command_bind_irc_last("action", NULL, (SIGNAL_FUNC) cmd_action);
+ command_bind_irc("notice", NULL, (SIGNAL_FUNC) cmd_notice);
+ command_bind_irc("ctcp", NULL, (SIGNAL_FUNC) cmd_ctcp);
+ command_bind_irc("nctcp", NULL, (SIGNAL_FUNC) cmd_nctcp);
+ command_bind_irc("wall", NULL, (SIGNAL_FUNC) cmd_wall);
+ command_bind_irc("ban", NULL, (SIGNAL_FUNC) cmd_ban);
+ command_bind_irc("invitelist", NULL, (SIGNAL_FUNC) cmd_invitelist);
+ command_bind_irc("ver", NULL, (SIGNAL_FUNC) cmd_ver);
+ command_bind_irc("topic", NULL, (SIGNAL_FUNC) cmd_topic);
+ command_bind_irc("ts", NULL, (SIGNAL_FUNC) cmd_ts);
+ command_bind_irc("oper", NULL, (SIGNAL_FUNC) cmd_oper);
+ command_bind_irc("sethost", NULL, (SIGNAL_FUNC) cmd_sethost);
}
void fe_irc_commands_deinit(void)
@@ -492,8 +453,6 @@ void fe_irc_commands_deinit(void)
command_unbind("wall", (SIGNAL_FUNC) cmd_wall);
command_unbind("ban", (SIGNAL_FUNC) cmd_ban);
command_unbind("invitelist", (SIGNAL_FUNC) cmd_invitelist);
- command_unbind("join", (SIGNAL_FUNC) cmd_join);
- command_unbind("nick", (SIGNAL_FUNC) cmd_nick);
command_unbind("ver", (SIGNAL_FUNC) cmd_ver);
command_unbind("topic", (SIGNAL_FUNC) cmd_topic);
command_unbind("ts", (SIGNAL_FUNC) cmd_ts);