From d133a90eaa4e8c94ce193c9436373bea8088361f Mon Sep 17 00:00:00 2001 From: Timo Sirainen Date: Tue, 20 Nov 2001 21:19:35 +0000 Subject: [PATCH] 377 numeric seems to be used as motd by some servers.. git-svn-id: http://svn.irssi.org/repos/irssi/trunk@2134 dbcabf3a-b0e7-0310-adc4-f8d773084564 --- src/fe-common/irc/fe-events-numeric.c | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/src/fe-common/irc/fe-events-numeric.c b/src/fe-common/irc/fe-events-numeric.c index 1c0746cf..03e500cf 100644 --- a/src/fe-common/irc/fe-events-numeric.c +++ b/src/fe-common/irc/fe-events-numeric.c @@ -446,6 +446,7 @@ static void event_whois_realhost(IRC_SERVER_REC *server, const char *data) if (strcmp(txt_real, "real") != 0 || strcmp(txt_hostname, "hostname") != 0) { /* :... from */ + g_free(params); params = event_get_params(data, 3, NULL, &nick, &hostname); from = strstr(hostname, "from "); @@ -459,15 +460,23 @@ static void event_whois_realhost(IRC_SERVER_REC *server, const char *data) static void event_whois_usermode(IRC_SERVER_REC *server, const char *data) { - char *params, *txt_usermodes, *nick, *usermode; + char *params, *txt_usermodes, *nick, *usermode, *text; g_return_if_fail(data != NULL); params = event_get_params(data, 4, NULL, &txt_usermodes, &nick, &usermode); - printformat(server, nick, MSGLEVEL_CRAP, - IRCTXT_WHOIS_USERMODE, nick, usermode); + if (strcmp(txt_usermodes, "usermodes") == 0) { + /* usermodes usermode */ + printformat(server, nick, MSGLEVEL_CRAP, + IRCTXT_WHOIS_USERMODE, nick, usermode); + } else { + /* some servers use this as motd too.. */ + g_free(params); + params = event_get_params(data, 2, NULL, &text); + printtext(server, NULL, MSGLEVEL_CRAP, "%s", text); + } g_free(params); }