X-Git-Url: https://jfr.im/git/solanum.git/blobdiff_plain/ad7ecd5cbb4b7c54b9a111f79f16f19c97b054d2..d4f7eb4ce6a0c5a703ddb0f5f5bfaf5d2037e605:/include/client.h diff --git a/include/client.h b/include/client.h index e43838b9..f1285b18 100644 --- a/include/client.h +++ b/include/client.h @@ -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)