diff options
Diffstat (limited to 'src/irc/core/irc-commands.c')
-rw-r--r-- | src/irc/core/irc-commands.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/irc/core/irc-commands.c b/src/irc/core/irc-commands.c index e99abaa9..3b57807a 100644 --- a/src/irc/core/irc-commands.c +++ b/src/irc/core/irc-commands.c @@ -404,8 +404,10 @@ static void cmd_nick(const char *data, IRC_SERVER_REC *server, WI_ITEM_REC *item server->nick_changing = TRUE; irc_send_cmdv(server, "NICK %s", nick); + + nick = g_strdup_printf("%s :%s", nick, nick); server_redirect_event(SERVER(server), nick, 5, - "event nick", "nickchange over", 1, + "event nick", "nickchange over", 0, "event 433", "nickchange over", 1, /* 437: ircnet = target unavailable, dalnet = banned in channel, @@ -413,6 +415,7 @@ static void cmd_nick(const char *data, IRC_SERVER_REC *server, WI_ITEM_REC *item "event 437", "nickchange over", -1, "event 432", "nickchange over", 1, "event 438", "nickchange over", 1, NULL); + g_free(nick); cmd_params_free(free_arg); } @@ -424,6 +427,7 @@ static void sig_nickchange_over(const char *data, IRC_SERVER_REC *server, server->nick_changing = FALSE; signal = g_strconcat("event ", current_server_event, NULL); + g_strdown(signal+6); signal_emit(signal, 4, data, server, nick, addr); g_free(signal); } |