]> jfr.im git - solanum.git/blobdiff - extensions/extb_usermode.c
Merge pull request #288 from edk0/umode-o-split
[solanum.git] / extensions / extb_usermode.c
index 353636625e1ea05d2be0a7a93ba4ae76daf49dec..87cba51eac8dd0e7205c9087e3c13af89694442f 100644 (file)
 #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;
 }