]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/helperfuncs.cpp
Finally take ServerInstance out of the global scope in this module, amongst a ton...
[user/henk/code/inspircd.git] / src / helperfuncs.cpp
index 3fce34c77b39aeab247038d1c95dafe50670ed9a..d8e718e48d89c069f366c49393465c0ba9b11576 100644 (file)
@@ -170,7 +170,7 @@ void InspIRCd::WriteMode(const char* modes, int flags, const char* text, ...)
        int modelen;
        va_list argsPtr;
 
-       if ((!text) || (!modes) || (!flags))
+       if (!text || !modes || !flags)
        {
                this->Log(DEFAULT,"*** BUG *** WriteMode was given an invalid parameter");
                return;
@@ -181,14 +181,12 @@ void InspIRCd::WriteMode(const char* modes, int flags, const char* text, ...)
        va_end(argsPtr);
        modelen = strlen(modes);
 
-       for (std::vector<userrec*>::const_iterator i = local_users.begin(); i != local_users.end(); i++)
+       if (flags == WM_AND)
        {
-               userrec* t = (userrec*)(*i);
-               bool send_to_user = false;
-
-               if (flags == WM_AND)
+               for (std::vector<userrec*>::const_iterator i = local_users.begin(); i != local_users.end(); i++)
                {
-                       send_to_user = true;
+                       userrec* t = *i;
+                       bool send_to_user = true;
 
                        for (int n = 0; n < modelen; n++)
                        {
@@ -198,10 +196,17 @@ void InspIRCd::WriteMode(const char* modes, int flags, const char* text, ...)
                                        break;
                                }
                        }
+                       if (send_to_user)
+                               t->WriteServ("NOTICE %s :%s",t->nick,textbuffer);
                }
-               else if (flags == WM_OR)
+       }
+       else
+       if (flags == WM_OR)
+       {
+               for (std::vector<userrec*>::const_iterator i = local_users.begin(); i != local_users.end(); i++)
                {
-                       send_to_user = false;
+                       userrec* t = *i;
+                       bool send_to_user = false;
 
                        for (int n = 0; n < modelen; n++)
                        {
@@ -211,11 +216,8 @@ void InspIRCd::WriteMode(const char* modes, int flags, const char* text, ...)
                                        break;
                                }
                        }
-               }
-
-               if (send_to_user)
-               {
-                       t->WriteServ("NOTICE %s :%s",t->nick,textbuffer);
+                       if (send_to_user)
+                               t->WriteServ("NOTICE %s :%s",t->nick,textbuffer);
                }
        }
 }