summaryrefslogtreecommitdiff
path: root/src/fe-common/irc/fe-events-numeric.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/fe-common/irc/fe-events-numeric.c')
-rw-r--r--src/fe-common/irc/fe-events-numeric.c21
1 files changed, 19 insertions, 2 deletions
diff --git a/src/fe-common/irc/fe-events-numeric.c b/src/fe-common/irc/fe-events-numeric.c
index bda9004b..90514138 100644
--- a/src/fe-common/irc/fe-events-numeric.c
+++ b/src/fe-common/irc/fe-events-numeric.c
@@ -455,7 +455,7 @@ static void event_whois_realhost(IRC_SERVER_REC *server, const char *data)
if (hostname != NULL) {
printformat(server, nick, MSGLEVEL_CRAP,
- IRCTXT_WHOIS_REALHOST, nick, hostname);
+ IRCTXT_WHOIS_REALHOST, nick, hostname, "");
} else {
/* OPN's dancer uses for end of /MAP */
g_free(params);
@@ -465,6 +465,19 @@ static void event_whois_realhost(IRC_SERVER_REC *server, const char *data)
g_free(params);
}
+static void event_whois_usermode326(IRC_SERVER_REC *server, const char *data)
+{
+ char *params, *nick, *usermode;
+
+ g_return_if_fail(data != NULL);
+
+ /* <yournick> <nick> :has oper privs: <mode> */
+ params = event_get_params(data, 3, NULL, &nick, &usermode);
+ printformat(server, nick, MSGLEVEL_CRAP,
+ IRCTXT_WHOIS_USERMODE, nick, usermode);
+ g_free(params);
+}
+
static void event_whois_realhost327(IRC_SERVER_REC *server, const char *data)
{
char *params, *nick, *hostname, *ip, *text;
@@ -480,7 +493,7 @@ static void event_whois_realhost327(IRC_SERVER_REC *server, const char *data)
printtext(server, NULL, MSGLEVEL_CRAP, "%s", text);
} else {
printformat(server, nick, MSGLEVEL_CRAP,
- IRCTXT_WHOIS_REALHOST, nick, hostname);
+ IRCTXT_WHOIS_REALHOST, nick, hostname, ip);
}
g_free(params);
}
@@ -813,6 +826,8 @@ void fe_events_numeric_init(void)
signal_add("event 313", (SIGNAL_FUNC) event_whois_oper);
signal_add("event 307", (SIGNAL_FUNC) event_whois_registered);
signal_add("event 310", (SIGNAL_FUNC) event_whois_help);
+ signal_add("event 326", (SIGNAL_FUNC) event_whois_usermode326);
+ signal_add("event 327", (SIGNAL_FUNC) event_whois_realhost327);
signal_add("event 379", (SIGNAL_FUNC) event_whois_modes);
signal_add("event 378", (SIGNAL_FUNC) event_whois_realhost);
signal_add("event 377", (SIGNAL_FUNC) event_whois_usermode);
@@ -891,6 +906,8 @@ void fe_events_numeric_deinit(void)
signal_remove("event 313", (SIGNAL_FUNC) event_whois_oper);
signal_remove("event 307", (SIGNAL_FUNC) event_whois_registered);
signal_remove("event 310", (SIGNAL_FUNC) event_whois_help);
+ signal_remove("event 326", (SIGNAL_FUNC) event_whois_usermode326);
+ signal_remove("event 327", (SIGNAL_FUNC) event_whois_realhost327);
signal_remove("event 379", (SIGNAL_FUNC) event_whois_modes);
signal_remove("event 378", (SIGNAL_FUNC) event_whois_realhost);
signal_remove("event 377", (SIGNAL_FUNC) event_whois_usermode);