X-Git-Url: https://jfr.im/git/solanum.git/blobdiff_plain/0b18e32cad7c6c1b26ae947e035115b44aad2f7f..bd0d352f12ee12bbe14b43c4eed9fbc74c51ac00:/extensions/extb_usermode.c diff --git a/extensions/extb_usermode.c b/extensions/extb_usermode.c index 74db6d20..eb087b31 100644 --- a/extensions/extb_usermode.c +++ b/extensions/extb_usermode.c @@ -19,7 +19,7 @@ static int _modinit(void); static void _moddeinit(void); static int eb_usermode(const char *data, struct Client *client_p, struct Channel *chptr, long mode_type); -DECLARE_MODULE_AV1(extb_account, _modinit, _moddeinit, NULL, NULL, NULL, "$Revision: 1299 $"); +DECLARE_MODULE_AV1(extb_usermode, _modinit, _moddeinit, NULL, NULL, NULL, "$Revision: 1299 $"); static int _modinit(void) @@ -46,7 +46,7 @@ static int eb_usermode(const char *data, struct Client *client_p, /* $m must have a specified mode */ if (data == NULL) - return EXTBAN_NOMATCH; + return EXTBAN_INVALID; for (p = data; *p != '\0'; p++) { @@ -73,5 +73,7 @@ static int eb_usermode(const char *data, struct Client *client_p, } } - return ((client_p->umodes & modes_ack) && !(client_p->umodes & modes_nak)) ? EXTBAN_MATCH : EXTBAN_NOMATCH; + return ((client_p->umodes & modes_ack) == modes_ack && + !(client_p->umodes & modes_nak)) ? + EXTBAN_MATCH : EXTBAN_NOMATCH; }