From f369248f68002611b667e840afc30d55ffc63e14 Mon Sep 17 00:00:00 2001 From: Timo Sirainen Date: Tue, 4 Jul 2000 19:23:01 +0000 Subject: [PATCH] User mode wasn't set right after server reconnection if server didn't set any user mode for you automatically. git-svn-id: http://svn.irssi.org/repos/irssi/trunk@429 dbcabf3a-b0e7-0310-adc4-f8d773084564 --- src/irc/core/server-reconnect.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/irc/core/server-reconnect.c b/src/irc/core/server-reconnect.c index 832d55cd..d736ef29 100644 --- a/src/irc/core/server-reconnect.c +++ b/src/irc/core/server-reconnect.c @@ -345,8 +345,15 @@ static int sig_set_user_mode(IRC_SERVER_REC *server) newmode = server->usermode == NULL ? NULL : modes_join(server->usermode, mode); - if (server->usermode != NULL && strcmp(newmode, server->usermode) != 0) - irc_send_cmdv(server, "MODE %s -%s+%s", server->nick, server->usermode, mode); + + if (server->usermode == NULL) { + /* server didn't set user mode, just set the new one */ + irc_send_cmdv(server, "MODE %s %s", server->nick, mode); + } else { + if (strcmp(newmode, server->usermode) != 0) + irc_send_cmdv(server, "MODE %s -%s+%s", server->nick, server->usermode, mode); + } + g_free_not_null(newmode); return 0; }