]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/cmd_oper.cpp
Stability fix
[user/henk/code/inspircd.git] / src / cmd_oper.cpp
index 718465e9fefcda89bc2d626e062823fe22939d22..e05736eda85346daf86b8cf94d30eed7bc640b16 100644 (file)
@@ -36,7 +36,7 @@
 #include "socketengine.h"
 
 #include "command_parse.h"
-#include "cmd_oper.h"
+#include "commands/cmd_oper.h"
 
 extern ServerConfig* Config;
 extern int MODCOUNT;
@@ -59,7 +59,7 @@ bool OneOfMatches(const char* host, const char* hostlist)
        return false;
 }
 
-void cmd_oper::Handle (char **parameters, int pcnt, userrec *user)
+void cmd_oper::Handle (const char** parameters, int pcnt, userrec *user)
 {
        char LoginName[MAXBUF];
        char Password[MAXBUF];
@@ -115,9 +115,9 @@ void cmd_oper::Handle (char **parameters, int pcnt, userrec *user)
                /* correct oper credentials */
                WriteOpers("*** %s (%s@%s) is now an IRC operator of type %s",user->nick,user->ident,user->host,OperType);
                WriteServ(user->fd,"381 %s :You are now an IRC operator of type %s",user->nick,OperType);
-               if (!strchr(user->modes,'o'))
+               if (!user->modes[UM_OPERATOR])
                {
-                       strcat(user->modes,"o");
+                       user->modes[UM_OPERATOR] = 1;
                        WriteServ(user->fd,"MODE %s :+o",user->nick);
                        FOREACH_MOD(I_OnOper,OnOper(user,OperType));
                        log(DEFAULT,"OPER: %s!%s@%s opered as type: %s",user->nick,user->ident,user->host,OperType);