]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/helperfuncs.cpp
Left figure from output
[user/henk/code/inspircd.git] / src / helperfuncs.cpp
index ea7b1f9dc574c84ae7e482fad24eebb84b9a04d7..897f9f890e0b1144cdd075375629a0807a8bbd49 100644 (file)
@@ -416,7 +416,7 @@ void WriteCommon(userrec *u, char* text, ...)
 
         bool sent_to_at_least_one = false;
 
-        for (int i = 0; i < MAXCHANS; i++)
+        for (unsigned int i = 0; i < u->chans.size(); i++)
         {
                 if (u->chans[i].channel)
                 {
@@ -466,7 +466,7 @@ void WriteCommonExcept(userrec *u, char* text, ...)
 
         memset(&already_sent,0,65536);
 
-        for (int i = 0; i < MAXCHANS; i++)
+        for (unsigned int i = 0; i < u->chans.size(); i++)
         {
                 if (u->chans[i].channel)
                 {
@@ -516,6 +516,46 @@ void WriteOpers(char* text, ...)
         }
 }
 
+void ServerNoticeAll(char* text, ...)
+{
+       if (!text)
+               return;
+
+       char textbuffer[MAXBUF];
+       va_list argsPtr;
+       va_start (argsPtr, text);
+       vsnprintf(textbuffer, MAXBUF, text, argsPtr);
+       va_end(argsPtr);
+
+       for (user_hash::const_iterator i = clientlist.begin(); i != clientlist.end(); i++)
+       {
+               if ((i->second) && (i->second->fd != FD_MAGIC_NUMBER))
+               {
+                       WriteServ(i->second->fd,"NOTICE $%s :%s",ServerName,textbuffer);
+               }
+       }
+}
+
+void ServerPrivmsgAll(char* text, ...)
+{
+       if (!text)
+               return;
+
+       char textbuffer[MAXBUF];
+       va_list argsPtr;
+       va_start (argsPtr, text);
+       vsnprintf(textbuffer, MAXBUF, text, argsPtr);
+       va_end(argsPtr);
+
+       for (user_hash::const_iterator i = clientlist.begin(); i != clientlist.end(); i++)
+       {
+               if ((i->second) && (i->second->fd != FD_MAGIC_NUMBER))
+               {
+                       WriteServ(i->second->fd,"PRIVMSG $%s :%s",ServerName,textbuffer);
+               }
+       }
+}
+
 void NoticeAllOpers(userrec *source, bool local_only, char* text, ...)
 {
         if ((!text) || (!source))
@@ -567,7 +607,7 @@ bool CommonOnThisServer(userrec* u,const char* servername)
 {
         log(DEBUG,"ChanAnyOnThisServer");
 
-        for (int i = 0; i < MAXCHANS; i++)
+        for (unsigned int i = 0; i < u->chans.size(); i++)
         {
                 if (u->chans[i].channel)
                 {
@@ -763,7 +803,7 @@ void purge_empty_chans(userrec* u)
         int go_again = 1, purge = 0;
 
         // firstly decrement the count on each channel
-        for (int f = 0; f < MAXCHANS; f++)
+        for (unsigned int f = 0; f < u->chans.size(); f++)
         {
                 if (u->chans[f].channel)
                 {
@@ -771,7 +811,7 @@ void purge_empty_chans(userrec* u)
                 }
         }
 
-        for (int i = 0; i < MAXCHANS; i++)
+        for (unsigned int i = 0; i < u->chans.size(); i++)
         {
                 if (u->chans[i].channel)
                 {
@@ -1088,16 +1128,6 @@ long chancount(void)
         return chanlist.size();
 }
 
-long count_servs(void)
-{
-        return 0;
-}
-
-long servercount(void)
-{
-        return count_servs()+1;
-}
-
 long local_count()
 {
         int c = 0;
@@ -1160,21 +1190,6 @@ bool AllModulesReportReady(userrec* user)
         return true;
 }
 
-char islast(const char* s)
-{
-        return '+';
-}
-
-long map_count(const char* s)
-{
-        int c = 0;
-        for (user_hash::const_iterator i = clientlist.begin(); i != clientlist.end(); i++)
-        {
-                if ((i->second->fd) && (isnick(i->second->nick)) && (!strcasecmp(i->second->server,s))) c++;
-        }
-        return c;
-}
-
 void createcommand(char* cmd, handlerfunc f, char flags, int minparams,char* source)
 {
         command_t comm;