added MODE_HALFOP (+h, %)
[ircu2.10.12-pk.git] / ircd / m_mode.c
index 794cc0404a3ae25500b4fd0733b6fa6f82c77f45..b4690418ac287ac1c64794a5c251a1d8a2f9bd10 100644 (file)
@@ -160,7 +160,7 @@ m_mode(struct Client *cptr, struct Client *sptr, int parc, char *parv[])
     destruct_nonpers_channel(chptr);
     return 0;
   } else {
-       if (!member || !IsChanOp(member)) {
+       if (!member || !IsChanOpOrHalfOp(member)) {
       mode_parse(0, cptr, sptr, chptr, parc - 2, parv + 2,
                 (member ? MODE_PARSE_NOTOPER : MODE_PARSE_NOTMEMBER), member);
     return 0;
@@ -236,7 +236,7 @@ ms_mode(struct Client *cptr, struct Client *sptr, int parc, char *parv[])
                NULL);
   } else {
     /* services don't cause hack messages */
-    if(!IsChannelService(sptr) && (!(member = find_member_link(chptr, sptr)) || !IsChanOp(member))) {
+    if(!IsChannelService(sptr) && (!(member = find_member_link(chptr, sptr)) || !IsChanOpOrHalfOp(member))) {
       modebuf_init(&mbuf, sptr, cptr, chptr,
                   (MODEBUF_DEST_SERVER |  /* Send mode to server */
                    MODEBUF_DEST_HACK2  |  /* Send a HACK(2) message */