]> jfr.im git - solanum.git/blobdiff - extensions/m_omode.c
Give all extensions/m_* modules AV2 descriptions
[solanum.git] / extensions / m_omode.c
index 03c9d32898e4b7a6aee455139736dba1162d8b3a..91caf405baccf7a67fe185d3e95c27d5525ed6d1 100644 (file)
@@ -21,8 +21,6 @@
  *  along with this program; if not, write to the Free Software
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
- *
- *  $Id: m_omode.c 3121 2007-01-02 13:23:04Z jilles $
  */
 
 #include "stdinc.h"
 #include "parse.h"
 #include "modules.h"
 #include "packet.h"
+#include "messages.h"
+#include "logger.h"
 
-static int mo_omode(struct Client *, struct Client *, int, const char **);
+static int mo_omode(struct MsgBuf *, struct Client *, struct Client *, int, const char **);
 
 struct Message omode_msgtab = {
-       "OMODE", 0, 0, 0, MFLG_SLOW,
+       "OMODE", 0, 0, 0, 0,
        {mg_unreg, mg_not_oper, mg_ignore, mg_ignore, mg_ignore, {mo_omode, 3}}
 };
 
 mapi_clist_av1 omode_clist[] = { &omode_msgtab, NULL };
 
-DECLARE_MODULE_AV1(omode, NULL, NULL, omode_clist, NULL, NULL, "$Revision: 3121 $");
+static const char omode_desc[] = "Allow admins to forcibly change modes on channels with the OMODE command";
+
+DECLARE_MODULE_AV2(omode, NULL, NULL, omode_clist, NULL, NULL, NULL, NULL, omode_desc);
 
 /*
  * mo_omode - MODE command handler
  * parv[1] - channel
  */
 static int
-mo_omode(struct Client *client_p, struct Client *source_p, int parc, const char *parv[])
+mo_omode(struct MsgBuf *msgbuf_p, struct Client *client_p, struct Client *source_p, int parc, const char *parv[])
 {
        struct Channel *chptr = NULL;
        struct membership *msptr;
@@ -108,20 +110,20 @@ mo_omode(struct Client *client_p, struct Client *source_p, int parc, const char
                rb_strlcat(params, parv[i], sizeof params);
        }
 
-       sendto_wallops_flags(UMODE_WALLOP, &me, 
+       sendto_wallops_flags(UMODE_WALLOP, &me,
                             "OMODE called for [%s] [%s] by %s!%s@%s",
                             parv[1], params, source_p->name, source_p->username, source_p->host);
        ilog(L_MAIN, "OMODE called for [%s] [%s] by %s",
             parv[1], params, get_oper_name(source_p));
 
        if(*chptr->chname != '&')
-               sendto_server(NULL, NULL, NOCAPS, NOCAPS, 
+               sendto_server(NULL, NULL, NOCAPS, NOCAPS,
                              ":%s WALLOPS :OMODE called for [%s] [%s] by %s!%s@%s",
                              me.name, parv[1], params, source_p->name, source_p->username,
                              source_p->host);
 
 #if 0
-       set_channel_mode(client_p, source_p->servptr, chptr, msptr, 
+       set_channel_mode(client_p, source_p->servptr, chptr, msptr,
                         parc - 2, parv + 2);
 #else
        if (parc == 4 && !strcmp(parv[2], "+o") && !irccmp(parv[3], source_p->name))
@@ -151,7 +153,7 @@ mo_omode(struct Client *client_p, struct Client *source_p, int parc, const char
                        add_user_to_channel(chptr, source_p, CHFL_CHANOP);
                        msptr = find_channel_membership(chptr, source_p);
                }
-               set_channel_mode(client_p, source_p, chptr, msptr, 
+               set_channel_mode(client_p, source_p, chptr, msptr,
                                parc - 2, parv + 2);
                /* We know they were not opped before and they can't have opped
                 * themselves as set_channel_mode() does not allow that