summaryrefslogtreecommitdiff
path: root/src/fe-common/irc
diff options
context:
space:
mode:
Diffstat (limited to 'src/fe-common/irc')
-rw-r--r--src/fe-common/irc/dcc/fe-dcc.c12
-rw-r--r--src/fe-common/irc/fe-channels.c12
-rw-r--r--src/fe-common/irc/fe-ircnet.c15
3 files changed, 23 insertions, 16 deletions
diff --git a/src/fe-common/irc/dcc/fe-dcc.c b/src/fe-common/irc/dcc/fe-dcc.c
index ae3cee81..39b26565 100644
--- a/src/fe-common/irc/dcc/fe-dcc.c
+++ b/src/fe-common/irc/dcc/fe-dcc.c
@@ -416,6 +416,14 @@ static void cmd_dcc_list(const char *data)
printformat(NULL, NULL, MSGLEVEL_DCC, IRCTXT_DCC_LIST_FOOTER);
}
+static void cmd_dcc(const char *data)
+{
+ if (*data == '\0') {
+ cmd_dcc_list(data);
+ signal_stop();
+ }
+}
+
static void sig_dcc_send_complete(GList **list, WINDOW_REC *window,
const char *word, const char *line, int *want_space)
{
@@ -459,7 +467,7 @@ void fe_irc_dcc_init(void)
command_bind("me", NULL, (SIGNAL_FUNC) cmd_me);
command_bind("action", NULL, (SIGNAL_FUNC) cmd_action);
command_bind("ctcp", NULL, (SIGNAL_FUNC) cmd_ctcp);
- command_bind("dcc ", NULL, (SIGNAL_FUNC) cmd_dcc_list);
+ command_bind("dcc", NULL, (SIGNAL_FUNC) cmd_dcc);
command_bind("dcc list", NULL, (SIGNAL_FUNC) cmd_dcc_list);
theme_register(fecommon_irc_dcc_formats);
@@ -492,6 +500,6 @@ void fe_irc_dcc_deinit(void)
command_unbind("me", (SIGNAL_FUNC) cmd_me);
command_unbind("action", (SIGNAL_FUNC) cmd_action);
command_unbind("ctcp", (SIGNAL_FUNC) cmd_ctcp);
- command_unbind("dcc ", (SIGNAL_FUNC) cmd_dcc_list);
+ command_unbind("dcc", (SIGNAL_FUNC) cmd_dcc);
command_unbind("dcc list", (SIGNAL_FUNC) cmd_dcc_list);
}
diff --git a/src/fe-common/irc/fe-channels.c b/src/fe-common/irc/fe-channels.c
index c17325eb..8eb1ebf9 100644
--- a/src/fe-common/irc/fe-channels.c
+++ b/src/fe-common/irc/fe-channels.c
@@ -182,12 +182,12 @@ static void cmd_channel_list(void)
static void cmd_channel(const char *data, IRC_SERVER_REC *server, WI_ITEM_REC *item)
{
- if (ischannel(*data)) {
+ if (*data == '\0')
+ cmd_channel_list_joined();
+ else if (ischannel(*data))
signal_emit("command join", 2, data, server);
- return;
- }
-
- command_runsub("channel", data, server, item);
+ else
+ command_runsub("channel", data, server, item);
}
static void cmd_channel_add(const char *data)
@@ -260,7 +260,6 @@ void fe_channels_init(void)
command_bind("wjoin", NULL, (SIGNAL_FUNC) cmd_wjoin);
command_bind("channel", NULL, (SIGNAL_FUNC) cmd_channel);
- command_bind("channel ", NULL, (SIGNAL_FUNC) cmd_channel_list_joined);
command_bind("channel add", NULL, (SIGNAL_FUNC) cmd_channel_add);
command_bind("channel remove", NULL, (SIGNAL_FUNC) cmd_channel_remove);
command_bind("channel list", NULL, (SIGNAL_FUNC) cmd_channel_list);
@@ -278,7 +277,6 @@ void fe_channels_deinit(void)
command_unbind("wjoin", (SIGNAL_FUNC) cmd_wjoin);
command_unbind("channel", (SIGNAL_FUNC) cmd_channel);
- command_unbind("channel ", (SIGNAL_FUNC) cmd_channel_list_joined);
command_unbind("channel add", (SIGNAL_FUNC) cmd_channel_add);
command_unbind("channel remove", (SIGNAL_FUNC) cmd_channel_remove);
command_unbind("channel list", (SIGNAL_FUNC) cmd_channel_list);
diff --git a/src/fe-common/irc/fe-ircnet.c b/src/fe-common/irc/fe-ircnet.c
index adc4f03c..9a361bce 100644
--- a/src/fe-common/irc/fe-ircnet.c
+++ b/src/fe-common/irc/fe-ircnet.c
@@ -28,11 +28,6 @@
#include "irc-server.h"
#include "ircnet-setup.h"
-static void cmd_ircnet(const char *data, IRC_SERVER_REC *server, WI_ITEM_REC *item)
-{
- command_runsub("ircnet", data, server, item);
-}
-
static void cmd_ircnet_list(void)
{
GString *str;
@@ -155,10 +150,17 @@ static void cmd_ircnet_remove(const char *data)
}
}
+static void cmd_ircnet(const char *data, IRC_SERVER_REC *server, WI_ITEM_REC *item)
+{
+ if (*data == '\0')
+ cmd_ircnet_list();
+ else
+ command_runsub("ircnet", data, server, item);
+}
+
void fe_ircnet_init(void)
{
command_bind("ircnet", NULL, (SIGNAL_FUNC) cmd_ircnet);
- command_bind("ircnet ", NULL, (SIGNAL_FUNC) cmd_ircnet_list);
command_bind("ircnet add", NULL, (SIGNAL_FUNC) cmd_ircnet_add);
command_bind("ircnet remove", NULL, (SIGNAL_FUNC) cmd_ircnet_remove);
@@ -168,7 +170,6 @@ void fe_ircnet_init(void)
void fe_ircnet_deinit(void)
{
command_unbind("ircnet", (SIGNAL_FUNC) cmd_ircnet);
- command_unbind("ircnet ", (SIGNAL_FUNC) cmd_ircnet_list);
command_unbind("ircnet add", (SIGNAL_FUNC) cmd_ircnet_add);
command_unbind("ircnet remove", (SIGNAL_FUNC) cmd_ircnet_remove);
}