X-Git-Url: https://jfr.im/git/solanum.git/blobdiff_plain/a8eae73002c806fba8a4b2f02b822f9fe111708b..81e41406f4027dfef50dcd5ef33403661bea5995:/extensions/extb_usermode.c diff --git a/extensions/extb_usermode.c b/extensions/extb_usermode.c index 35363662..87cba51e 100644 --- a/extensions/extb_usermode.c +++ b/extensions/extb_usermode.c @@ -15,16 +15,18 @@ #include "s_serv.h" #include "numeric.h" +static const char extb_desc[] = "Usermode ($m) extban type"; + 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_usermode, _modinit, _moddeinit, NULL, NULL, NULL, "$Revision: 1299 $"); +DECLARE_MODULE_AV2(extb_usermode, _modinit, _moddeinit, NULL, NULL, NULL, NULL, NULL, extb_desc); static int _modinit(void) { - extban_table['m'] = eb_usermode; + extban_table['u'] = eb_usermode; return 0; } @@ -32,7 +34,7 @@ _modinit(void) static void _moddeinit(void) { - extban_table['m'] = NULL; + extban_table['u'] = NULL; } static int eb_usermode(const char *data, struct Client *client_p, @@ -73,5 +75,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; }