]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/users.cpp
Fix for correct display when removing snomask
[user/henk/code/inspircd.git] / src / users.cpp
index 36905beefb5ab0a9d9d02136a9602dbd1569bea4..b919ae759937bcc6e72ba0e7ed499cd2a2767700 100644 (file)
@@ -117,7 +117,7 @@ std::string userrec::ProcessNoticeMasks(const char *sm)
                                {
                                        if ((!IsNoticeMaskSet(*c) && adding) || (IsNoticeMaskSet(*c) && !adding))
                                        {
-                                               if ((oldadding != adding) || (sm == c))
+                                               if ((oldadding != adding) || (sm == (c+1)))
                                                        output += (adding ? '+' : '-');
 
                                                this->SetNoticeMask(*c, adding);
@@ -713,19 +713,15 @@ void userrec::QuitUser(InspIRCd* Instance, userrec *user,const std::string &quit
        }
 
        /*
-        * this must come before the ServerInstance->WriteOpers so that it doesnt try to fill their buffer with anything
-        * if they were an oper with +s.
-        *
-        * XXX -
-        * In the current implementation, we only show local quits, as we only show local connects. With 
-        * the proposed implmentation of snomasks however, this will likely change in the (near?) future.
+        * this must come before the ServerInstance->SNO->WriteToSnoMaskso that it doesnt try to fill their buffer with anything
+        * if they were an oper with +sn +qQ.
         */
        if (user->registered == REG_ALL)
        {
                if (IS_LOCAL(user))
                        Instance->SNO->WriteToSnoMask('q',"Client exiting: %s!%s@%s [%s]",user->nick,user->ident,user->host,reason.c_str());
                else
-                       Instance->SNO->WriteToSnoMask('Q',"Client exiting: %s!%s@%s [%s]",user->nick,user->ident,user->host,reason.c_str());
+                       Instance->SNO->WriteToSnoMask('Q',"Client exiting on server %s: %s!%s@%s [%s]",user->server,user->nick,user->ident,user->host,reason.c_str());
                user->AddToWhoWas();
        }