]> jfr.im git - solanum.git/blobdiff - extensions/extb_usermode.c
Merge pull request #53 from ShadowNinja/clarify_U+R
[solanum.git] / extensions / extb_usermode.c
index 74db6d208504e6614a3dfa34a2892a97b744ff78..eb087b310224787ff4a1b421bd3a0b5f5c59c5a7 100644 (file)
@@ -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;
 }