]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/message.cpp
Andy fucked up! :O
[user/henk/code/inspircd.git] / src / message.cpp
index b8351ea7e982461f7e643644d14da288791ddb15..584d5a07082289814058faa13bd78369185d220f 100644 (file)
@@ -214,7 +214,7 @@ void ChangeName(userrec* user, const char* gecos)
                        return;
                FOREACH_MOD(I_OnChangeName,OnChangeName(user,gecos));
        }
-       strlcpy(user->fullname,gecos,MAXBUF);
+       strlcpy(user->fullname,gecos,MAXGECOS+1);
 }
 
 void ChangeDisplayedHost(userrec* user, const char* host)
@@ -266,7 +266,7 @@ int isnick(const char* n)
        {
                return 0;
        }
-       if (strlen(n) > NICKMAX)
+       if (strlen(n) > NICKMAX-1)
        {
                return 0;
        }
@@ -325,6 +325,24 @@ char* cmode(userrec *user, chanrec *chan)
        return "";
 }
 
+int cflags(userrec *user, chanrec *chan)
+{
+       if ((!chan) || (!user))
+               return 0;
+
+       for (unsigned int i = 0; i < user->chans.size(); i++)
+       {
+               if (user->chans[i].channel)
+               {
+                       if ((!strcasecmp(user->chans[i].channel->name,chan->name)) && (chan != NULL))
+                       {
+                               return user->chans[i].uc_modes;
+                       }
+               }
+       }
+       return 0;
+}
+
 /* returns the status value for a given user on a channel, e.g. STATUS_OP for
  * op, STATUS_VOICE for voice etc. If the user has several modes set, the
  * highest mode the user has must be returned. */
@@ -407,7 +425,7 @@ void TidyBan(char *ban)
        pos_of_pling++;
        pos_of_at++;
 
-       strlcpy(NICK,temp,NICKMAX);
+       strlcpy(NICK,temp,NICKMAX-1);
        strlcpy(IDENT,pos_of_pling,IDENTMAX+1);
        strlcpy(HOST,pos_of_at,160);