aboutsummaryrefslogtreecommitdiffstats
path: root/irc_im.c
diff options
context:
space:
mode:
authorWilmer van der Gaast <wilmer@gaast.net>2010-04-13 01:54:55 +0200
committerWilmer van der Gaast <wilmer@gaast.net>2010-04-13 01:54:55 +0200
commit89c11e735164b7212d27bb64ff1a00ac50b9c746 (patch)
tree42e739130597b8e80228e05dd0c697b7341dd4d7 /irc_im.c
parent24b8bbb2616d685006a279e46a4bd2e8e7cf6694 (diff)
Restored CTCP/DCC hooks for outgoing file transfers.
Diffstat (limited to 'irc_im.c')
-rw-r--r--irc_im.c19
1 files changed, 19 insertions, 0 deletions
diff --git a/irc_im.c b/irc_im.c
index ccf0d55c..85828eb1 100644
--- a/irc_im.c
+++ b/irc_im.c
@@ -210,6 +210,25 @@ static gboolean bee_irc_user_privmsg( irc_user_t *iu, const char *msg )
return FALSE;
}
+static gboolean bee_irc_user_ctcp( irc_user_t *iu, char *const *ctcp )
+{
+ if( ctcp[1] && g_strcasecmp( ctcp[0], "DCC" ) == 0
+ && g_strcasecmp( ctcp[1], "SEND" ) == 0 )
+ {
+ if( iu->bu && iu->bu->ic && iu->bu->ic->acc->prpl->transfer_request )
+ {
+ file_transfer_t *ft = dcc_request( iu->bu->ic, ctcp );
+ if ( ft )
+ iu->bu->ic->acc->prpl->transfer_request( iu->bu->ic, ft, iu->bu->handle );
+
+ return TRUE;
+ }
+ }
+
+ return FALSE;
+}
+
static const struct irc_user_funcs irc_user_im_funcs = {
bee_irc_user_privmsg,
+ bee_irc_user_ctcp,
};