From e47cab1ecc3c35cddef56e9980baf77fa32f3470 Mon Sep 17 00:00:00 2001 From: Timo Sirainen Date: Mon, 22 Apr 2002 09:47:13 +0000 Subject: [PATCH] Added setby-parameter to "nick mode changed" and "channel mode changed" git-svn-id: http://svn.irssi.org/repos/irssi/trunk@2704 dbcabf3a-b0e7-0310-adc4-f8d773084564 --- docs/signals.txt | 4 ++-- src/irc/core/modes.c | 12 ++++++------ 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/docs/signals.txt b/docs/signals.txt index 94fbbbe7..2bf0d921 100644 --- a/docs/signals.txt +++ b/docs/signals.txt @@ -152,8 +152,8 @@ mode-lists.c: "ban remove", CHANNEL_REC, BAN_REC modes.c: - "channel mode changed", CHANNEL_REC - "nick mode changed", CHANNEL_REC, NICK_REC + "channel mode changed", CHANNEL_REC, char *setby + "nick mode changed", CHANNEL_REC, NICK_REC, char *setby "user mode changed", SERVER_REC, char *old "away mode changed", SERVER_REC diff --git a/src/irc/core/modes.c b/src/irc/core/modes.c index 3f60dd9b..327a98aa 100644 --- a/src/irc/core/modes.c +++ b/src/irc/core/modes.c @@ -32,7 +32,7 @@ /* Change nick's mode in channel */ static void nick_mode_change(IRC_CHANNEL_REC *channel, const char *nick, - const char mode, int type) + const char mode, int type, const char *setby) { NICK_REC *nickrec; @@ -46,7 +46,7 @@ static void nick_mode_change(IRC_CHANNEL_REC *channel, const char *nick, if (mode == '+') nickrec->voice = type == '+'; if (mode == '%') nickrec->halfop = type == '+'; - signal_emit("nick mode changed", 2, channel, nickrec); + signal_emit("nick mode changed", 3, channel, nickrec, setby); } static int mode_is_set(const char *str, char mode) @@ -236,13 +236,13 @@ void parse_channel_modes(IRC_CHANNEL_REC *channel, const char *setby, case 'O': /* channel owner in !channels */ if (g_strcasecmp(channel->server->nick, arg) == 0) channel->chanop = type == '+'; - nick_mode_change(channel, arg, '@', type); + nick_mode_change(channel, arg, '@', type, setby); break; case 'h': - nick_mode_change(channel, arg, '%', type); + nick_mode_change(channel, arg, '%', type, setby); break; case 'v': - nick_mode_change(channel, arg, '+', type); + nick_mode_change(channel, arg, '+', type, setby); break; case 'l': @@ -290,7 +290,7 @@ void parse_channel_modes(IRC_CHANNEL_REC *channel, const char *setby, g_free(channel->mode); channel->mode = g_strdup(newmode->str); - signal_emit("channel mode changed", 1, channel); + signal_emit("channel mode changed", 2, channel, setby); } g_string_free(newmode, TRUE);