]> jfr.im git - solanum.git/blobdiff - include/client.h
Replace most checks for +o with oper:general
[solanum.git] / include / client.h
index e43838b9115391d2c20a51e78b27e04348cc1981..f1285b18561f0ebfd745ec0db9b27ff3d1f9440b 100644 (file)
@@ -371,7 +371,7 @@ struct ListClient
                                 (x)->handler = SERVER_HANDLER; }
 
 #define SetClient(x)            {(x)->status = STAT_CLIENT; \
-                                (x)->handler = IsOper((x)) ? \
+                                (x)->handler = IsOperGeneral((x)) ? \
                                        OPER_HANDLER : CLIENT_HANDLER; }
 #define SetRemoteClient(x)     {(x)->status = STAT_CLIENT; \
                                 (x)->handler = RCLIENT_HANDLER; }
@@ -516,12 +516,8 @@ struct ListClient
 /* oper flags */
 #define MyOper(x)               (MyConnect(x) && IsOper(x))
 
-#define SetOper(x)              {(x)->umodes |= UMODE_OPER; \
-                                if (MyClient((x))) (x)->handler = OPER_HANDLER;}
-
-#define ClearOper(x)            {(x)->umodes &= ~(UMODE_OPER|UMODE_ADMIN); \
-                                if (MyClient((x)) && !IsOper((x)) && !IsServer((x))) \
-                                 (x)->handler = CLIENT_HANDLER; }
+#define SetOper(x)              ((x)->umodes |= UMODE_OPER)
+#define ClearOper(x)            ((x)->umodes &= ~(UMODE_OPER|UMODE_ADMIN))
 
 /* umode flags */
 #define IsInvisible(x)          ((x)->umodes & UMODE_INVISIBLE)