diff options
-rw-r--r-- | src/commands.cpp | 8 | ||||
-rw-r--r-- | src/mode.cpp | 2 |
2 files changed, 6 insertions, 4 deletions
diff --git a/src/commands.cpp b/src/commands.cpp index f7361640c..f8d4c208d 100644 --- a/src/commands.cpp +++ b/src/commands.cpp @@ -1756,7 +1756,7 @@ void handle_nick(char **parameters, int pcnt, userrec *user) WriteCommon(user,"NICK %s",parameters[0]); - // Q token must go to ALL servers!!! + // N token must go to ALL servers!!! char buffer[MAXBUF]; snprintf(buffer,MAXBUF,"n %s %s",user->nick,parameters[0]); NetSendToAll(buffer); @@ -2066,10 +2066,9 @@ void handle_n(char token,char* params,serverrec* source,serverrec* reply, char* char* newnick = strtok(NULL," "); userrec* user = Find(oldnick); - + if (user) { - WriteCommon(user,"NICK %s",newnick); if (is_uline(tcp_host)) { int MOD_RESULT = 0; @@ -2088,8 +2087,9 @@ void handle_n(char token,char* params,serverrec* source,serverrec* reply, char* // broadcast this because its a services thingy char buffer[MAXBUF]; snprintf(buffer,MAXBUF,"n %s %s",user->nick,newnick); - NetSendToAll(buffer); + NetSendToAllExcept(tcp_host,buffer); } + WriteCommon(user,"NICK %s",newnick); user = ReHashNick(user->nick, newnick); if (!user) return; if (!user->nick) return; diff --git a/src/mode.cpp b/src/mode.cpp index 1d94e3c40..4be550f99 100644 --- a/src/mode.cpp +++ b/src/mode.cpp @@ -546,6 +546,8 @@ void process_modes(char **parameters,userrec* user,chanrec *chan,int status, int log(DEBUG,"process_modes: modelist: %s",modelist); int len = strlen(modelist); + while (modelist[len-1] == ' ') + modelist[--len] = '\0'; for (ptr = 0; ptr < len; ptr++) { r = NULL; |