diff options
Diffstat (limited to 'src/irc/core')
34 files changed, 156 insertions, 300 deletions
diff --git a/src/irc/core/Makefile.am b/src/irc/core/Makefile.am index 40204183..149c317c 100644 --- a/src/irc/core/Makefile.am +++ b/src/irc/core/Makefile.am @@ -21,7 +21,6 @@ libirc_core_a_SOURCES = \ irc-masks.c \ irc-nicklist.c \ irc-queries.c \ - irc-rawlog.c \ irc-servers.c \ irc-servers-reconnect.c \ irc-servers-setup.c \ diff --git a/src/irc/core/bans.c b/src/irc/core/bans.c index 26768ca0..5583d63a 100644 --- a/src/irc/core/bans.c +++ b/src/irc/core/bans.c @@ -20,14 +20,15 @@ #include "module.h" #include "signals.h" -#include "commands.h" #include "misc.h" #include "settings.h" +#include "irc-servers.h" +#include "irc-channels.h" #include "irc-masks.h" +#include "irc-commands.h" #include "modes.h" #include "mode-lists.h" -#include "irc.h" #include "nicklist.h" #define BAN_TYPE_NORMAL (IRC_MASK_USER | IRC_MASK_DOMAIN) @@ -253,6 +254,8 @@ static void cmd_ban(const char *data, IRC_SERVER_REC *server, void *item) int ban_type; void *free_arg; + CMD_IRC_SERVER(server); + if (!cmd_get_params(data, &free_arg, 1 | PARAM_FLAG_OPTIONS | PARAM_FLAG_GETREST, "ban", &optlist, &ban)) @@ -285,12 +288,14 @@ static void cmd_unban(const char *data, IRC_SERVER_REC *server, void *item) GHashTable *optlist; char *ban; void *free_arg; - + + CMD_IRC_SERVER(server); + if (!cmd_get_params(data, &free_arg, 1 | PARAM_FLAG_OPTIONS | PARAM_FLAG_GETREST, "unban", &optlist, &ban)) return; - + ban = NULL; if (g_hash_table_lookup(optlist, "first") != NULL) ban = g_strdup(BAN_FIRST); @@ -326,8 +331,8 @@ void bans_init(void) default_ban_type_str = NULL; settings_add_str("misc", "ban_type", "normal"); - command_bind("ban", NULL, (SIGNAL_FUNC) cmd_ban); - command_bind("unban", NULL, (SIGNAL_FUNC) cmd_unban); + command_bind_irc("ban", NULL, (SIGNAL_FUNC) cmd_ban); + command_bind_irc("unban", NULL, (SIGNAL_FUNC) cmd_unban); command_set_options("ban", "normal user host domain +custom"); command_set_options("unban", "first last"); diff --git a/src/irc/core/bans.h b/src/irc/core/bans.h index 6f106f55..0b00f19d 100644 --- a/src/irc/core/bans.h +++ b/src/irc/core/bans.h @@ -1,8 +1,6 @@ #ifndef __BANS_H #define __BANS_H -#include "irc-channels.h" - void bans_init(void); void bans_deinit(void); diff --git a/src/irc/core/channel-events.c b/src/irc/core/channel-events.c index 92ea4d59..65fe3bf6 100644 --- a/src/irc/core/channel-events.c +++ b/src/irc/core/channel-events.c @@ -23,7 +23,7 @@ #include "misc.h" #include "channels-setup.h" -#include "irc.h" +#include "irc-servers.h" #include "irc-channels.h" static void event_cannot_join(IRC_SERVER_REC *server, const char *data) diff --git a/src/irc/core/channel-rejoin.c b/src/irc/core/channel-rejoin.c index e18da65e..174c1c4e 100644 --- a/src/irc/core/channel-rejoin.c +++ b/src/irc/core/channel-rejoin.c @@ -23,8 +23,9 @@ #include "signals.h" #include "misc.h" -#include "irc.h" +#include "irc-servers.h" #include "irc-channels.h" +#include "irc-commands.h" #include "channel-rejoin.h" #define REJOIN_TIMEOUT (1000*60*5) /* try to rejoin every 5 minutes */ @@ -241,8 +242,7 @@ static int sig_rejoin(void) static void cmd_rmrejoins(const char *data, IRC_SERVER_REC *server) { - if (!IS_IRC_SERVER(server) || !server->connected) - cmd_return_error(CMDERR_NOT_CONNECTED); + CMD_IRC_SERVER(server); while (server->rejoin_channels != NULL) rejoin_destroy(server, server->rejoin_channels->data); @@ -253,7 +253,7 @@ void channel_rejoin_init(void) rejoin_tag = g_timeout_add(REJOIN_TIMEOUT, (GSourceFunc) sig_rejoin, NULL); - command_bind("rmrejoins", NULL, (SIGNAL_FUNC) cmd_rmrejoins); + command_bind_irc("rmrejoins", NULL, (SIGNAL_FUNC) cmd_rmrejoins); signal_add_first("event 407", (SIGNAL_FUNC) event_duplicate_channel); signal_add_first("event 437", (SIGNAL_FUNC) event_target_unavailable); signal_add_first("channel joined", (SIGNAL_FUNC) sig_remove_rejoin); diff --git a/src/irc/core/channels-query.c b/src/irc/core/channels-query.c index 9dda5595..c8a29866 100644 --- a/src/irc/core/channels-query.c +++ b/src/irc/core/channels-query.c @@ -43,12 +43,11 @@ loop: #include "signals.h" #include "settings.h" -#include "channels.h" -#include "irc.h" #include "modes.h" #include "mode-lists.h" #include "nicklist.h" #include "irc-servers.h" +#include "irc-channels.h" #include "servers-redirect.h" enum { diff --git a/src/irc/core/ctcp.c b/src/irc/core/ctcp.c index 88261800..e062a735 100644 --- a/src/irc/core/ctcp.c +++ b/src/irc/core/ctcp.c @@ -25,7 +25,6 @@ #include "special-vars.h" #include "settings.h" -#include "irc.h" #include "irc-servers.h" #include "server-idle.h" #include "ignore.h" diff --git a/src/irc/core/irc-channels.c b/src/irc/core/irc-channels.c index f2109712..75741355 100644 --- a/src/irc/core/irc-channels.c +++ b/src/irc/core/irc-channels.c @@ -24,10 +24,10 @@ #include "levels.h" #include "channels-setup.h" -#include "irc.h" #include "bans.h" #include "modes.h" #include "mode-lists.h" +#include "irc-servers.h" #include "irc-channels.h" #include "irc-nicklist.h" #include "channel-rejoin.h" diff --git a/src/irc/core/irc-channels.h b/src/irc/core/irc-channels.h index 41826cb1..a00b0a49 100644 --- a/src/irc/core/irc-channels.h +++ b/src/irc/core/irc-channels.h @@ -3,7 +3,6 @@ #include "chat-protocols.h" #include "channels.h" -#include "irc-servers.h" /* Returns IRC_CHANNEL_REC if it's IRC channel, NULL if it isn't. */ #define IRC_CHANNEL(channel) \ @@ -13,7 +12,7 @@ (IRC_CHANNEL(channel) ? TRUE : FALSE) #define STRUCT_SERVER_REC IRC_SERVER_REC -typedef struct { +struct _IRC_CHANNEL_REC { #include "channel-rec.h" GSList *banlist; /* list of bans */ @@ -23,7 +22,7 @@ typedef struct { time_t massjoin_start; /* Massjoin start time */ int massjoins; /* Number of nicks waiting for massjoin signal.. */ int last_massjoins; /* Massjoins when last checked in timeout function */ -} IRC_CHANNEL_REC; +}; void irc_channels_init(void); void irc_channels_deinit(void); diff --git a/src/irc/core/irc-chatnets.h b/src/irc/core/irc-chatnets.h index 5404c0d2..b8d6fb9f 100644 --- a/src/irc/core/irc-chatnets.h +++ b/src/irc/core/irc-chatnets.h @@ -14,7 +14,7 @@ #define IS_IRCNET(ircnet) IS_IRC_CHATNET(ircnet) #define IRCNET(ircnet) IRC_CHATNET(ircnet) -typedef struct { +struct _IRC_CHATNET_REC { #include "chatnet-rec.h" int max_cmds_at_once; int cmd_queue_speed; @@ -23,7 +23,7 @@ typedef struct { /* max. number of kicks/msgs/mode/whois per command */ int max_kicks, max_msgs, max_modes, max_whois; -} IRC_CHATNET_REC; +}; void ircnet_create(IRC_CHATNET_REC *rec); diff --git a/src/irc/core/irc-commands.c b/src/irc/core/irc-commands.c index d3eefbbf..e8d3a043 100644 --- a/src/irc/core/irc-commands.c +++ b/src/irc/core/irc-commands.c @@ -19,7 +19,6 @@ */ #include "module.h" -#include "commands.h" #include "misc.h" #include "special-vars.h" #include "settings.h" @@ -31,7 +30,7 @@ #include "nicklist.h" #include "bans.h" -#include "irc.h" +#include "irc-commands.h" #include "irc-servers.h" #include "irc-channels.h" #include "irc-queries.h" @@ -65,9 +64,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 (!IS_IRC_SERVER(server) || !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)) return; @@ -85,9 +82,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 (!IS_IRC_SERVER(server) || !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)) return; @@ -109,9 +104,7 @@ static void cmd_nctcp(const char *data, IRC_SERVER_REC *server) char *target, *ctcpcmd, *ctcpdata; void *free_arg; - g_return_if_fail(data != NULL); - if (!IS_IRC_SERVER(server) || !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)) return; @@ -130,9 +123,7 @@ static void cmd_part(const char *data, IRC_SERVER_REC *server, WI_ITEM_REC *item char *channame, *msg; void *free_arg; - g_return_if_fail(data != NULL); - if (!IS_IRC_SERVER(server) || !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, item, &channame, &msg)) return; @@ -155,9 +146,7 @@ static void cmd_kick(const char *data, IRC_SERVER_REC *server, WI_ITEM_REC *item char *channame, *nicks, *reason; void *free_arg; - g_return_if_fail(data != NULL); - if (!IS_IRC_SERVER(server) || !server->connected) - cmd_return_error(CMDERR_NOT_CONNECTED); + CMD_IRC_SERVER(server); if (!cmd_get_params(data, &free_arg, 3 | PARAM_FLAG_OPTCHAN | PARAM_FLAG_GETREST, item, &channame, &nicks, &reason)) @@ -179,9 +168,7 @@ static void cmd_topic(const char *data, IRC_SERVER_REC *server, WI_ITEM_REC *ite char *channame, *topic; void *free_arg; - g_return_if_fail(data != NULL); - if (!IS_IRC_SERVER(server) || !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_OPTIONS | PARAM_FLAG_GETREST, @@ -201,9 +188,7 @@ static void cmd_invite(const char *data, IRC_SERVER_REC *server, WI_ITEM_REC *it char *nick, *channame; void *free_arg; - g_return_if_fail(data != NULL); - if (!IS_IRC_SERVER(server) || !server->connected) - cmd_return_error(CMDERR_NOT_CONNECTED); + CMD_IRC_SERVER(server); if (!cmd_get_params(data, &free_arg, 2, &nick, &channame)) return; @@ -228,9 +213,7 @@ static void cmd_list(const char *data, IRC_SERVER_REC *server, char *str; void *free_arg; - g_return_if_fail(data != NULL); - if (!IS_IRC_SERVER(server) || !server->connected) - cmd_return_error(CMDERR_NOT_CONNECTED); + CMD_IRC_SERVER(server); if (!cmd_get_params(data, &free_arg, 1 | PARAM_FLAG_OPTIONS | PARAM_FLAG_GETREST, "list", &optlist, &str)) @@ -255,9 +238,7 @@ static void cmd_who(const char *data, IRC_SERVER_REC *server, char *channel, *rest; void *free_arg; - g_return_if_fail(data != NULL); - if (!IS_IRC_SERVER(server) || !server->connected) - cmd_return_error(CMDERR_NOT_CONNECTED); + CMD_IRC_SERVER(server); if (!cmd_get_params(data, &free_arg, 2 | PARAM_FLAG_GETREST, &channel, &rest)) return; @@ -288,9 +269,7 @@ static void cmd_names(const char *data, IRC_SERVER_REC *server, char *channel; void *free_arg; - g_return_if_fail(data != NULL); - if (!IS_IRC_SERVER(server) || !server->connected) - cmd_return_error(CMDERR_NOT_CONNECTED); + CMD_IRC_SERVER(server); if (!cmd_get_params(data, &free_arg, 1 | PARAM_FLAG_OPTIONS | PARAM_FLAG_GETREST, "names", &optlist, &channel)) @@ -321,8 +300,7 @@ static void cmd_nick(const char *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 (!cmd_get_params(data, &free_arg, 1, &nick)) return; @@ -392,9 +370,7 @@ static void cmd_whois(const char *data, IRC_SERVER_REC *server, void *free_arg; int free_nick; - g_return_if_fail(data != NULL); - if (!IS_IRC_SERVER(server) || !server->connected) - cmd_return_error(CMDERR_NOT_CONNECTED); + CMD_IRC_SERVER(server); if (!cmd_get_params(data, &free_arg, 2 | PARAM_FLAG_OPTIONS, "whois", &optlist, &qserver, &query)) @@ -480,9 +456,7 @@ static void cmd_whowas(const char *data, IRC_SERVER_REC *server) void *free_arg; int free_nick; - g_return_if_fail(data != NULL); - if (!IS_IRC_SERVER(server) || !server->connected) - cmd_return_error(CMDERR_NOT_CONNECTED); + CMD_IRC_SERVER(server); if (!cmd_get_params(data, &free_arg, 2, &nicks, &count)) return; @@ -506,9 +480,7 @@ static void cmd_ping(const char *data, IRC_SERVER_REC *server, WI_ITEM_REC *item GTimeVal tv; char *str; - 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' || strcmp(data, "*") == 0) { if (!IS_IRC_ITEM(item)) @@ -545,9 +517,7 @@ static void cmd_away(const char *data, IRC_SERVER_REC *server) char *reason; void *free_arg; - g_return_if_fail(data != NULL); - if (!IS_IRC_SERVER(server) || !server->connected) - cmd_return_error(CMDERR_NOT_CONNECTED); + CMD_IRC_SERVER(server); if (!cmd_get_params(data, &free_arg, 1 | PARAM_FLAG_OPTIONS | PARAM_FLAG_GETREST, "away", &optlist, &reason)) return; @@ -560,23 +530,10 @@ static void cmd_away(const char *data, IRC_SERVER_REC *server) cmd_params_free(free_arg); } -/* SYNTAX: DEOP <nicks> */ -static void cmd_deop(const char *data, IRC_SERVER_REC *server) -{ - g_return_if_fail(data != NULL); - if (!IS_IRC_SERVER(server) || !server->connected) - cmd_return_error(CMDERR_NOT_CONNECTED); - - if (*data == '\0') - irc_send_cmdv(server, "MODE %s -o", server->nick); -} - /* SYNTAX: SCONNECT <new server> [[<port>] <existing server>] */ static void cmd_sconnect(const char *data, IRC_SERVER_REC *server) { - 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') cmd_return_error(CMDERR_NOT_ENOUGH_PARAMS); irc_send_cmdv(server, "CONNECT %s", data); @@ -585,9 +542,7 @@ static void cmd_sconnect(const char *data, IRC_SERVER_REC *server) /* SYNTAX: QUOTE <data> */ static void cmd_quote(const char *data, IRC_SERVER_REC *server) { - g_return_if_fail(data != NULL); - if (server == NULL || !IS_IRC_SERVER(server)) - cmd_return_error(CMDERR_NOT_CONNECTED); + CMD_IRC_SERVER(server); irc_send_cmd(server, data); } @@ -595,9 +550,7 @@ static void cmd_quote(const char *data, IRC_SERVER_REC *server) /* SYNTAX: RAWQUOTE <data> */ static void cmd_rawquote(const char *data, IRC_SERVER_REC *server) { - g_return_if_fail(data != NULL); - if (server == NULL || !IS_IRC_SERVER(server)) - cmd_return_error(CMDERR_NOT_CONNECTED); + CMD_IRC_SERVER(server); irc_send_cmd_full(server, data, FALSE, FALSE, TRUE); } @@ -615,9 +568,7 @@ static void cmd_wait(const char *data, IRC_SERVER_REC *server) void *free_arg; int n; - g_return_if_fail(data != NULL); - if (!IS_SERVER(server) || !server->connected) - cmd_return_error(CMDERR_NOT_CONNECTED); + CMD_IRC_SERVER(server); if (!cmd_get_params(data, &free_arg, 1 | PARAM_FLAG_OPTIONS | PARAM_FLAG_UNKNOWN_OPTIONS | PARAM_FLAG_GETREST, @@ -652,9 +603,7 @@ static void cmd_wall(const char *data, IRC_SERVER_REC *server, WI_ITEM_REC *item IRC_CHANNEL_REC *chanrec; GSList *tmp, *nicks; - g_return_if_fail(data != NULL); - if (!IS_IRC_SERVER(server) || !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, item, &channame, &msg)) @@ -694,9 +643,7 @@ static void cmd_kickban(const char *data, IRC_SERVER_REC *server, char **nicklist, *spacenicks; void *free_arg; - g_return_if_fail(data != NULL); - if (!IS_IRC_SERVER(server) || !server->connected) - cmd_return_error(CMDERR_NOT_CONNECTED); + CMD_IRC_SERVER(server); if (!cmd_get_params(data, &free_arg, 3 | PARAM_FLAG_OPTCHAN | PARAM_FLAG_GETREST, item, &channel, &nicks, &reason)) @@ -784,7 +731,8 @@ static void cmd_knockout(const char *data, IRC_SERVER_REC *server, void *free_arg; int timeleft; - g_return_if_fail(data != NULL); + CMD_IRC_SERVER(server); + if (!IS_IRC_CHANNEL(channel)) cmd_return_error(CMDERR_NOT_JOINED); if (!channel->wholist) @@ -850,9 +798,7 @@ static void cmd_server_purge(const char *data, IRC_SERVER_REC *server) char *target; void *free_arg; - g_return_if_fail(data != NULL); - if (!IS_IRC_SERVER(server) || !server->connected) - cmd_return_error(CMDERR_NOT_CONNECTED); + CMD_IRC_SERVER(server); if (!cmd_get_params(data, &free_arg, 1, &target)) return; @@ -897,9 +843,7 @@ static void cmd_oper(const char *data, IRC_SERVER_REC *server) char *nick, *password; void *free_arg; - g_return_if_fail(data != NULL); - if (!IS_IRC_SERVER(server) || !server->connected) - cmd_return_error(CMDERR_NOT_CONNECTED); + CMD_IRC_SERVER(server); /* asking for password is handled by fe-common */ if (!cmd_get_params(data, &free_arg, 2, &nick, &password)) @@ -913,9 +857,7 @@ static void cmd_oper(const char *data, IRC_SERVER_REC *server) /* SYNTAX: UNSILENCE <nick!user@host> */ static void cmd_unsilence(const char *data, IRC_SERVER_REC *server) { - 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') cmd_return_error(CMDERR_NOT_ENOUGH_PARAMS); @@ -925,9 +867,7 @@ static void cmd_unsilence(const char *data, IRC_SERVER_REC *server) static void command_self(const char *data, IRC_SERVER_REC *server) { - g_return_if_fail(data != NULL); - if (!IS_IRC_SERVER(server) || !server->connected) - cmd_return_error(CMDERR_NOT_CONNECTED); + CMD_IRC_SERVER(server); irc_send_cmdv(server, *data == '\0' ? "%s" : "%s %s", current_command, data); } @@ -947,9 +887,7 @@ static void command_2self(const char *data, IRC_SERVER_REC *server) char *target, *text; void *free_arg; - g_return_if_fail(data != NULL); - if (!IS_IRC_SERVER(server) || !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)) return; @@ -1011,85 +949,84 @@ void irc_commands_init(void) knockout_tag = g_timeout_add(KNOCKOUT_TIMECHECK, (GSourceFunc) knockout_timeout, NULL); - 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("part", NULL, (SIGNAL_FUNC) cmd_part); - command_bind("kick", NULL, (SIGNAL_FUNC) cmd_kick); - command_bind("topic", NULL, (SIGNAL_FUNC) cmd_topic); - command_bind("invite", NULL, (SIGNAL_FUNC) cmd_invite); - command_bind("list", NULL, (SIGNAL_FUNC) cmd_list); - command_bind("who", NULL, (SIGNAL_FUNC) cmd_who); - command_bind("names", NULL, (SIGNAL_FUNC) cmd_names); - command_bind("nick", NULL, (SIGNAL_FUNC) cmd_nick); + 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("part", NULL, (SIGNAL_FUNC) cmd_part); + command_bind_irc("kick", NULL, (SIGNAL_FUNC) cmd_kick); + command_bind_irc("topic", NULL, (SIGNAL_FUNC) cmd_topic); + command_bind_irc("invite", NULL, (SIGNAL_FUNC) cmd_invite); + command_bind_irc("list", NULL, (SIGNAL_FUNC) cmd_list); + command_bind_irc("who", NULL, (SIGNAL_FUNC) cmd_who); + command_bind_irc("names", NULL, (SIGNAL_FUNC) cmd_names); + command_bind_irc("nick", NULL, (SIGNAL_FUNC) cmd_nick); /* SYNTAX: NOTE <command> [&<password>] [+|-<flags>] [<arguments>] */ - command_bind("note", NULL, (SIGNAL_FUNC) command_self); - command_bind("whois", NULL, (SIGNAL_FUNC) cmd_whois); - command_bind("whowas", NULL, (SIGNAL_FUNC) cmd_whowas); - command_bind("ping", NULL, (SIGNAL_FUNC) cmd_ping); + command_bind_irc("note", NULL, (SIGNAL_FUNC) command_self); + command_bind_irc("whois", NULL, (SIGNAL_FUNC) cmd_whois); + command_bind_irc("whowas", NULL, (SIGNAL_FUNC) cmd_whowas); + command_bind_irc("ping", NULL, (SIGNAL_FUNC) cmd_ping); /* SYNTAX: KILL <nick> <reason> */ - command_bind("kill", NULL, (SIGNAL_FUNC) command_2self); - command_bind("away", NULL, (SIGNAL_FUNC) cmd_away); + command_bind_irc("kill", NULL, (SIGNAL_FUNC) command_2self); + command_bind_irc("away", NULL, (SIGNAL_FUNC) cmd_away); /* SYNTAX: ISON <nicks> */ - command_bind("ison", NULL, (SIGNAL_FUNC) command_1self); + command_bind_irc("ison", NULL, (SIGNAL_FUNC) command_1self); /* SYNTAX: ADMIN [<server>|<nickname>] */ - command_bind("admin", NULL, (SIGNAL_FUNC) command_self); + command_bind_irc("admin", NULL, (SIGNAL_FUNC) command_self); /* SYNTAX: INFO [<server>] */ - command_bind("info", NULL, (SIGNAL_FUNC) command_self); + command_bind_irc("info", NULL, (SIGNAL_FUNC) command_self); /* SYNTAX: LINKS [[<server>] <mask>] */ - command_bind("links", NULL, (SIGNAL_FUNC) command_self); + command_bind_irc("links", NULL, (SIGNAL_FUNC) command_self); /* SYNTAX: LUSERS [<server mask> [<remote server>]] */ - command_bind("lusers", NULL, (SIGNAL_FUNC) command_self); + command_bind_irc("lusers", NULL, (SIGNAL_FUNC) command_self); /* SYNTAX: MAP */ - command_bind("map", NULL, (SIGNAL_FUNC) command_self); + command_bind_irc("map", NULL, (SIGNAL_FUNC) command_self); /* SYNTAX: MOTD [<server>|<nick>] */ - command_bind("motd", NULL, (SIGNAL_FUNC) command_self); + command_bind_irc("motd", NULL, (SIGNAL_FUNC) command_self); /* SYNTAX: REHASH */ - command_bind("rehash", NULL, (SIGNAL_FUNC) command_self); + command_bind_irc("rehash", NULL, (SIGNAL_FUNC) command_self); /* SYNTAX: STATS <type> [<server>] */ - command_bind("stats", NULL, (SIGNAL_FUNC) command_self); + command_bind_irc("stats", NULL, (SIGNAL_FUNC) command_self); /* SYNTAX: TIME [<server>|<nick>] */ - command_bind("time", NULL, (SIGNAL_FUNC) command_self); + command_bind_irc("time", NULL, (SIGNAL_FUNC) command_self); /* SYNTAX: TRACE [<server>|<nick>] */ - command_bind("trace", NULL, (SIGNAL_FUNC) command_self); + command_bind_irc("trace", NULL, (SIGNAL_FUNC) command_self); /* SYNTAX: VERSION [<server>|<nick>] */ - command_bind("version", NULL, (SIGNAL_FUNC) command_self); + command_bind_irc("version", NULL, (SIGNAL_FUNC) command_self); /* SYNTAX: SERVLIST [<server mask>] */ - command_bind("servlist", NULL, (SIGNAL_FUNC) command_self); + command_bind_irc("servlist", NULL, (SIGNAL_FUNC) command_self); /* SYNTAX: SILENCE [[+|-]<nick!user@host>] SILENCE [<nick>] */ - command_bind("silence", NULL, (SIGNAL_FUNC) command_self); - command_bind("unsilence", NULL, (SIGNAL_FUNC) cmd_unsilence); - command_bind("sconnect", NULL, (SIGNAL_FUNC) cmd_sconnect); + command_bind_irc("silence", NULL, (SIGNAL_FUNC) command_self); + command_bind_irc("unsilence", NULL, (SIGNAL_FUNC) cmd_unsilence); + command_bind_irc("sconnect", NULL, (SIGNAL_FUNC) cmd_sconnect); /* SYNTAX: SQUERY <service> [<commands>] */ - command_bind("squery", NULL, (SIGNAL_FUNC) command_2self); - command_bind("deop", NULL, (SIGNAL_FUNC) cmd_deop); + command_bind_irc("squery", NULL, (SIGNAL_FUNC) command_2self); /* SYNTAX: DIE */ - command_bind("die", NULL, (SIGNAL_FUNC) command_self); + command_bind_irc("die", NULL, (SIGNAL_FUNC) command_self); /* SYNTAX: HASH */ - command_bind("hash", NULL, (SIGNAL_FUNC) command_self); - command_bind("oper", NULL, (SIGNAL_FUNC) cmd_oper); + command_bind_irc("hash", NULL, (SIGNAL_FUNC) command_self); + command_bind_irc("oper", NULL, (SIGNAL_FUNC) cmd_oper); /* SYNTAX: RESTART */ - command_bind("restart", NULL, (SIGNAL_FUNC) command_self); + command_bind_irc("restart", NULL, (SIGNAL_FUNC) command_self); /* SYNTAX: RPING <server> */ - command_bind("rping", NULL, (SIGNAL_FUNC) command_self); + command_bind_irc("rping", NULL, (SIGNAL_FUNC) command_self); /* SYNTAX: SQUIT <server>|<mask> <reason> */ - command_bind("squit", NULL, (SIGNAL_FUNC) command_2self); + command_bind_irc("squit", NULL, (SIGNAL_FUNC) command_2self); /* SYNTAX: UPING <server> */ - command_bind("uping", NULL, (SIGNAL_FUNC) command_self); + command_bind_irc("uping", NULL, (SIGNAL_FUNC) command_self); /* SYNTAX: USERHOST <nicks> */ - command_bind("userhost", NULL, (SIGNAL_FUNC) command_self); - command_bind("quote", NULL, (SIGNAL_FUNC) cmd_quote); - command_bind("rawquote", NULL, (SIGNAL_FUNC) cmd_rawquote); - command_bind("wall", NULL, (SIGNAL_FUNC) cmd_wall); - command_bind("wait", NULL, (SIGNAL_FUNC) cmd_wait); + command_bind_irc("userhost", NULL, (SIGNAL_FUNC) command_self); + command_bind_irc("quote", NULL, (SIGNAL_FUNC) cmd_quote); + command_bind_irc("rawquote", NULL, (SIGNAL_FUNC) cmd_rawquote); + command_bind_irc("wall", NULL, (SIGNAL_FUNC) cmd_wall); + command_bind_irc("wait", NULL, (SIGNAL_FUNC) cmd_wait); /* SYNTAX: WALLOPS <message> */ - command_bind("wallops", NULL, (SIGNAL_FUNC) command_1self); + command_bind_irc("wallops", NULL, (SIGNAL_FUNC) command_1self); /* SYNTAX: WALLCHOPS <channel> <message> */ - command_bind("wallchops", NULL, (SIGNAL_FUNC) command_2self); - command_bind("kickban", NULL, (SIGNAL_FUNC) cmd_kickban); - command_bind("knockout", NULL, (SIGNAL_FUNC) cmd_knockout); - command_bind("server purge", NULL, (SIGNAL_FUNC) cmd_server_purge); + command_bind_irc("wallchops", NULL, (SIGNAL_FUNC) command_2self); + command_bind_irc("kickban", NULL, (SIGNAL_FUNC) cmd_kickban); + command_bind_irc("knockout", NULL, (SIGNAL_FUNC) cmd_knockout); + command_bind_irc("server purge", NULL, (SIGNAL_FUNC) cmd_server_purge); signal_add("channel destroyed", (SIGNAL_FUNC) sig_channel_destroyed); signal_add("server disconnected", (SIGNAL_FUNC) sig_server_disconnected); @@ -1144,7 +1081,6 @@ void irc_commands_deinit(void) command_unbind("unsilence", (SIGNAL_FUNC) cmd_unsilence); command_unbind("sconnect", (SIGNAL_FUNC) cmd_sconnect); command_unbind("squery", (SIGNAL_FUNC) command_2self); - command_unbind("deop", (SIGNAL_FUNC) cmd_deop); command_unbind("die", (SIGNAL_FUNC) command_self); command_unbind("hash", (SIGNAL_FUNC) command_self); command_unbind("oper", (SIGNAL_FUNC) cmd_oper); diff --git a/src/irc/core/irc-commands.h b/src/irc/core/irc-commands.h new file mode 100644 index 00000000..739bd443 --- /dev/null +++ b/src/irc/core/irc-commands.h @@ -0,0 +1,26 @@ +#ifndef __IRC_COMMANDS_H +#define __IRC_COMMANDS_H + +#include "commands.h" + +#define command_bind_irc(cmd, section, signal) \ + command_bind_proto(cmd, IRC_PROTOCOL, section, signal) +#define command_bind_irc_first(cmd, section, signal) \ + command_bind_proto_first(cmd, IRC_PROTOCOL, section, signal) +#define command_bind_irc_last(cmd, section, signal) \ + command_bind_proto_last(cmd, IRC_PROTOCOL, section, signal) + +/* Simply returns if server isn't for IRC protocol. Prints ERR_NOT_CONNECTED + error if there's no server or server isn't connected yet */ +#define CMD_IRC_SERVER(server) \ + G_STMT_START { \ + if (server != NULL && !IS_IRC_SERVER(server)) \ + return; \ + if (server == NULL || !(server)->connected) \ + cmd_return_error(CMDERR_NOT_CONNECTED); \ + } G_STMT_END + +void irc_commands_init(void); +void irc_commands_deinit(void); + +#endif diff --git a/src/irc/core/irc-core.c b/src/irc/core/irc-core.c index 607f36d7..8906efbe 100644 --- a/src/irc/core/irc-core.c +++ b/src/irc/core/irc-core.c @@ -30,15 +30,9 @@ #include "channels-setup.h" #include "ctcp.h" -#include "irc.h" +#include "irc-commands.h" #include "netsplit.h" -void irc_commands_init(void); -void irc_commands_deinit(void); - -void irc_rawlog_init(void); -void irc_rawlog_deinit(void); - void irc_expandos_init(void); void irc_expandos_deinit(void); @@ -116,7 +110,6 @@ void irc_core_init(void) irc_irc_init(); lag_init(); netsplit_init(); - irc_rawlog_init(); irc_expandos_init(); module_register("core", "irc"); @@ -127,7 +120,6 @@ void irc_core_deinit(void) signal_emit("chat protocol deinit", 1, chat_protocol_find("IRC")); irc_expandos_deinit(); - irc_rawlog_deinit(); netsplit_deinit(); lag_deinit(); irc_commands_deinit(); diff --git a/src/irc/core/irc-expandos.c b/src/irc/core/irc-expandos.c index 2825dfc9..c8ce9d97 100644 --- a/src/irc/core/irc-expandos.c +++ b/src/irc/core/irc-expandos.c @@ -23,7 +23,6 @@ #include "expandos.h" #include "settings.h" -#include "irc.h" #include "irc-servers.h" #include "channels.h" #include "nicklist.h" diff --git a/src/irc/core/irc-masks.c b/src/irc/core/irc-masks.c index f07ae60d..345b1b77 100644 --- a/src/irc/core/irc-masks.c +++ b/src/irc/core/irc-masks.c @@ -21,7 +21,6 @@ #include "module.h" #include "network.h" -#include "irc.h" #include "irc-masks.h" static char *get_domain_mask(char *host) diff --git a/src/irc/core/irc-nicklist.c b/src/irc/core/irc-nicklist.c index 42dac71d..31b072ba 100644 --- a/src/irc/core/irc-nicklist.c +++ b/src/irc/core/irc-nicklist.c @@ -22,7 +22,7 @@ #include "signals.h" #include "misc.h" -#include "irc.h" +#include "irc-servers.h" #include "irc-channels.h" #include "irc-masks.h" #include "irc-nicklist.h" diff --git a/src/irc/core/irc-nicklist.h b/src/irc/core/irc-nicklist.h index 611589d2..7d0ae2f4 100644 --- a/src/irc/core/irc-nicklist.h +++ b/src/irc/core/irc-nicklist.h @@ -2,7 +2,6 @@ #define __IRC_NICKLIST_H #include "nicklist.h" -#include "irc-channels.h" /* Add new nick to list */ NICK_REC *irc_nicklist_insert(IRC_CHANNEL_REC *channel, const char *nick, diff --git a/src/irc/core/irc-queries.c b/src/irc/core/irc-queries.c index 87aed832..380b12ef 100644 --- a/src/irc/core/irc-queries.c +++ b/src/irc/core/irc-queries.c @@ -22,7 +22,7 @@ #include "signals.h" #include "misc.h" -#include "irc.h" +#include "irc-servers.h" #include "irc-queries.h" QUERY_REC *irc_query_create(const char *server_tag, diff --git a/src/irc/core/irc-queries.h b/src/irc/core/irc-queries.h index 5e791b1f..e95602c1 100644 --- a/src/irc/core/irc-queries.h +++ b/src/irc/core/irc-queries.h @@ -3,7 +3,6 @@ #include "chat-protocols.h" #include "queries.h" -#include "irc-servers.h" /* Returns IRC_QUERY_REC if it's IRC query, NULL if it isn't. */ #define IRC_QUERY(query) \ diff --git a/src/irc/core/irc-rawlog.c b/src/irc/core/irc-rawlog.c deleted file mode 100644 index a76fcf45..00000000 --- a/src/irc/core/irc-rawlog.c +++ /dev/null @@ -1,79 +0,0 @@ -/* - irc-rawlog.c : irssi - - Copyright (C) 1999-2000 Timo Sirainen - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -*/ - -#include "module.h" -#include "rawlog.h" -#include "signals.h" -#include "misc.h" - -#include "commands.h" -#include "servers.h" - -#include "settings.h" - -static void cmd_rawlog(const char *data, SERVER_REC *server, void *item) -{ - command_runsub("rawlog", data, server, item); -} - -/* SYNTAX: RAWLOG SAVE <file> */ -static void cmd_rawlog_save(const char *data, SERVER_REC *server) -{ - g_return_if_fail(data != NULL); - if (server == NULL || !server->connected) cmd_return_error(CMDERR_NOT_CONNECTED); - - if (*data == '\0') cmd_return_error(CMDERR_NOT_ENOUGH_PARAMS); - rawlog_save(server->rawlog, data); -} - -/* SYNTAX: RAWLOG OPEN <file> */ -static void cmd_rawlog_open(const char *data, SERVER_REC *server) -{ - g_return_if_fail(data != NULL); - if (server == NULL || !server->connected) cmd_return_error(CMDERR_NOT_CONNECTED); - - if (*data == '\0') cmd_return_error(CMDERR_NOT_ENOUGH_PARAMS); - rawlog_open(server->rawlog, data); -} - -/* SYNTAX: RAWLOG CLOSE */ -static void cmd_rawlog_close(const char *data, SERVER_REC *server) -{ - g_return_if_fail(data != NULL); - if (server == NULL || !server->connected) cmd_return_error(CMDERR_NOT_CONNECTED); - - rawlog_close(server->rawlog); -} - -void irc_rawlog_init(void) -{ - command_bind("rawlog", NULL, (SIGNAL_FUNC) cmd_rawlog); - command_bind("rawlog save", NULL, (SIGNAL_FUNC) cmd_rawlog_save); - command_bind("rawlog open", NULL, (SIGNAL_FUNC) cmd_rawlog_open); - command_bind("rawlog close", NULL, (SIGNAL_FUNC) cmd_rawlog_close); -} - -void irc_rawlog_deinit(void) -{ - command_unbind("rawlog", (SIGNAL_FUNC) cmd_rawlog); - command_unbind("rawlog save", (SIGNAL_FUNC) cmd_rawlog_save); - command_unbind("rawlog open", (SIGNAL_FUNC) cmd_rawlog_open); - command_unbind("rawlog close", (SIGNAL_FUNC) cmd_rawlog_close); -} diff --git a/src/irc/core/irc-servers-reconnect.c b/src/irc/core/irc-servers-reconnect.c index 3dc9b414..26f40779 100644 --- a/src/irc/core/irc-servers-reconnect.c +++ b/src/irc/core/irc-servers-reconnect.c @@ -23,7 +23,6 @@ #include "network.h" #include "signals.h" -#include "irc.h" #include "modes.h" #include "irc-servers.h" diff --git a/src/irc/core/irc-servers.c b/src/irc/core/irc-servers.c index 0dbb3468..5591e313 100644 --- a/src/irc/core/irc-servers.c +++ b/src/irc/core/irc-servers.c @@ -30,7 +30,6 @@ #include "channels.h" #include "queries.h" -#include "irc.h" #include "irc-servers-setup.h" #include "irc-servers.h" #include "channel-rejoin.h" diff --git a/src/irc/core/irc-servers.h b/src/irc/core/irc-servers.h index 9a4f0ea8..1add7cdd 100644 --- a/src/irc/core/irc-servers.h +++ b/src/irc/core/irc-servers.h @@ -20,7 +20,7 @@ /* all strings should be either NULL or dynamically allocated */ /* address and nick are mandatory, rest are optional */ -typedef struct { +struct _IRC_SERVER_CONNECT_REC { #include "server-connect-rec.h" char *usermode; @@ -31,10 +31,10 @@ typedef struct { int max_query_chans; int max_kicks, max_msgs, max_modes, max_whois; -} IRC_SERVER_CONNECT_REC; +}; #define STRUCT_SERVER_CONNECT_REC IRC_SERVER_CONNECT_REC -typedef struct { +struct _IRC_SERVER_REC { #include "server-rec.h" char *real_address; /* address the irc server gives */ @@ -87,7 +87,7 @@ typedef struct { channels go here if they're "temporarily unavailable" because of netsplits */ void *chanqueries; -} IRC_SERVER_REC; +}; IRC_SERVER_REC *irc_server_connect(IRC_SERVER_CONNECT_REC *conn); diff --git a/src/irc/core/irc.c b/src/irc/core/irc.c index bf41fbbc..a7e58bb6 100644 --- a/src/irc/core/irc.c +++ b/src/irc/core/irc.c @@ -26,7 +26,6 @@ #include "rawlog.h" #include "misc.h" -#include "irc.h" #include "irc-servers.h" #include "irc-channels.h" #include "servers-redirect.h" diff --git a/src/irc/core/irc.h b/src/irc/core/irc.h index 46051d9e..3ff3e249 100644 --- a/src/irc/core/irc.h +++ b/src/irc/core/irc.h @@ -1,7 +1,10 @@ #ifndef __IRC_H #define __IRC_H -#include "irc-servers.h" +typedef struct _IRC_CHATNET_REC IRC_CHATNET_REC; +typedef struct _IRC_SERVER_CONNECT_REC IRC_SERVER_CONNECT_REC; +typedef struct _IRC_SERVER_REC IRC_SERVER_REC; +typedef struct _IRC_CHANNEL_REC IRC_CHANNEL_REC; /* From ircd 2.9.5: none I line with ident @@ -26,6 +29,7 @@ (a) == '+') /* modeless */ #define IS_IRC_ITEM(rec) (IS_IRC_CHANNEL(rec) || IS_IRC_QUERY(rec)) +#define IRC_PROTOCOL (chat_protocol_lookup("IRC")) extern char *current_server_event; /* current server event being processed */ diff --git a/src/irc/core/lag.c b/src/irc/core/lag.c index 8b934dd7..d2c62813 100644 --- a/src/irc/core/lag.c +++ b/src/irc/core/lag.c @@ -23,7 +23,6 @@ #include "misc.h" #include "settings.h" -#include "irc.h" #include "irc-servers.h" typedef struct { diff --git a/src/irc/core/massjoin.c b/src/irc/core/massjoin.c index 13df8694..07ea8fbd 100644 --- a/src/irc/core/massjoin.c +++ b/src/irc/core/massjoin.c @@ -22,7 +22,6 @@ #include "signals.h" #include "settings.h" -#include "irc.h" #include "irc-servers.h" #include "irc-channels.h" #include "irc-nicklist.h" diff --git a/src/irc/core/mode-lists.c b/src/irc/core/mode-lists.c index 3f98b73b..71fba750 100644 --- a/src/irc/core/mode-lists.c +++ b/src/irc/core/mode-lists.c @@ -22,7 +22,8 @@ #include "misc.h" #include "signals.h" -#include "irc.h" +#include "irc-servers.h" +#include "irc-channels.h" #include "mode-lists.h" static void ban_free(GSList **list, BAN_REC *rec) diff --git a/src/irc/core/mode-lists.h b/src/irc/core/mode-lists.h index ef13ae3c..324b7752 100644 --- a/src/irc/core/mode-lists.h +++ b/src/irc/core/mode-lists.h @@ -1,8 +1,6 @@ #ifndef __MODE_LISTS_H #define __MODE_LISTS_H -#include "irc-channels.h" - typedef struct { char *ban; char *setby; diff --git a/src/irc/core/modes.c b/src/irc/core/modes.c index 8c102e9a..25b212c2 100644 --- a/src/irc/core/modes.c +++ b/src/irc/core/modes.c @@ -20,10 +20,11 @@ #include "module.h" #include "signals.h" -#include "commands.h" #include "settings.h" -#include "irc.h" +#include "irc-commands.h" +#include "irc-servers.h" +#include "irc-channels.h" #include "modes.h" #include "mode-lists.h" #include "nicklist.h" @@ -590,8 +591,7 @@ static void cmd_op(const char *data, IRC_SERVER_REC *server, { char *nicks; - if (!IS_IRC_CHANNEL(channel)) - return; + CMD_IRC_SERVER(server); nicks = get_nicks(channel, data, 0, -1); if (nicks != NULL && *nicks != '\0') @@ -605,8 +605,7 @@ static void cmd_deop(const char *data, IRC_SERVER_REC *server, { char *nicks; - if (!IS_IRC_CHANNEL(channel)) - return; + CMD_IRC_SERVER(server); nicks = get_nicks(channel, data, 1, -1); if (nicks != NULL && *nicks != '\0') @@ -620,8 +619,7 @@ static void cmd_voice(const char *data, IRC_SERVER_REC *server, { char *nicks; - if (!IS_IRC_CHANNEL(channel)) - return; + CMD_IRC_SERVER(server); nicks = get_nicks(channel, data, 0, 0); if (nicks != NULL && *nicks != '\0') @@ -635,8 +633,7 @@ static void cmd_devoice(const char *data, IRC_SERVER_REC *server, { char *nicks; - if (!IS_IRC_CHANNEL(channel)) - return; + CMD_IRC_SERVER(server); nicks = get_nicks(channel, data, -1, 1); if (nicks != NULL && *nicks != '\0') @@ -651,9 +648,7 @@ static void cmd_mode(const char *data, IRC_SERVER_REC *server, char *target, *mode; 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 (*data == '+' || *data == '-') { target = "*"; @@ -692,11 +687,11 @@ void modes_init(void) signal_add("event 381", (SIGNAL_FUNC) event_oper); signal_add("event mode", (SIGNAL_FUNC) event_mode); - command_bind("op", NULL, (SIGNAL_FUNC) cmd_op); - command_bind("deop", NULL, (SIGNAL_FUNC) cmd_deop); - command_bind("voice", NULL, (SIGNAL_FUNC) cmd_voice); - command_bind("devoice", NULL, (SIGNAL_FUNC) cmd_devoice); - command_bind("mode", NULL, (SIGNAL_FUNC) cmd_mode); + command_bind_irc("op", NULL, (SIGNAL_FUNC) cmd_op); + command_bind_irc("deop", NULL, (SIGNAL_FUNC) cmd_deop); + command_bind_irc("voice", NULL, (SIGNAL_FUNC) cmd_voice); + command_bind_irc("devoice", NULL, (SIGNAL_FUNC) cmd_devoice); + command_bind_irc("mode", NULL, (SIGNAL_FUNC) cmd_mode); } void modes_deinit(void) diff --git a/src/irc/core/modes.h b/src/irc/core/modes.h index 5db61fd3..7da90ab7 100644 --- a/src/irc/core/modes.h +++ b/src/irc/core/modes.h @@ -1,9 +1,6 @@ #ifndef __MODES_H #define __MODES_H -#include "irc-servers.h" -#include "irc-channels.h" - /* modes that have argument always */ #define HAS_MODE_ARG_ALWAYS(mode) \ ((mode) == 'b' || (mode) == 'e' || (mode) == 'I' || (mode) == 'k' || \ diff --git a/src/irc/core/module.h b/src/irc/core/module.h index a605302b..19c0b3cc 100644 --- a/src/irc/core/module.h +++ b/src/irc/core/module.h @@ -1,5 +1,4 @@ #include "common.h" +#include "irc.h" #define MODULE_NAME "irc/core" - -#define IRC_PROTOCOL (chat_protocol_lookup("IRC")) diff --git a/src/irc/core/server-idle.c b/src/irc/core/server-idle.c index dd85282b..9443fdf7 100644 --- a/src/irc/core/server-idle.c +++ b/src/irc/core/server-idle.c @@ -24,7 +24,6 @@ #include "irc-servers.h" #include "server-idle.h" #include "servers-redirect.h" -#include "irc.h" typedef struct { char *event; diff --git a/src/irc/core/server-idle.h b/src/irc/core/server-idle.h index 73761dae..8d89f8f5 100644 --- a/src/irc/core/server-idle.h +++ b/src/irc/core/server-idle.h @@ -1,8 +1,6 @@ #ifndef __SERVER_IDLE_H #define __SERVER_IDLE_H -#include "irc-servers.h" - /* Add new idle command to queue */ int server_idle_add(IRC_SERVER_REC *server, const char *cmd, const char *arg, int last, ...); |