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;
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 */