diff options
-rw-r--r-- | src/fe-common/irc/fe-events-numeric.c | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/src/fe-common/irc/fe-events-numeric.c b/src/fe-common/irc/fe-events-numeric.c index c69a4238..7e290452 100644 --- a/src/fe-common/irc/fe-events-numeric.c +++ b/src/fe-common/irc/fe-events-numeric.c @@ -392,14 +392,20 @@ static void event_target_unavailable(IRC_SERVER_REC *server, const char *data, g_free(params); } -static void event_no_such_nick(IRC_SERVER_REC *server, const char *data) +static void event_no_such_nick(IRC_SERVER_REC *server, const char *data, + const char *nick, const char *addr) { - char *params, *nick; + char *params, *unick; g_return_if_fail(data != NULL); - params = event_get_params(data, 2, NULL, &nick); - printformat(server, nick, MSGLEVEL_CRAP, IRCTXT_NO_SUCH_NICK, nick); + params = event_get_params(data, 2, NULL, &unick); + if (!strcmp(unick, "*")) + /* more information will be in the description, + * e.g. * :Target left IRC. Failed to deliver: [hi] */ + print_event_received(server, data, nick, FALSE); + else + printformat(server, unick, MSGLEVEL_CRAP, IRCTXT_NO_SUCH_NICK, unick); g_free(params); } |