* Checks if mlock and chanops permit a mode change.
*
* inputs - client, channel, access level, errors pointer, mode char
- * outputs - 0 on failure, 1 on success
+ * outputs - false on failure, true on success
* side effects - error message sent on failure
*/
-static int
+static bool
allow_mode_change(struct Client *source_p, struct Channel *chptr, int alevel,
int *errors, char c)
{
c,
chptr->mode_lock);
*errors |= SM_ERR_MLOCK;
- return 0;
+ return false;
}
if(alevel < CHFL_CHANOP)
{
sendto_one(source_p, form_str(ERR_CHANOPRIVSNEEDED),
me.name, source_p->name, chptr->chname);
*errors |= SM_ERR_NOOPS;
- return 0;
+ return false;
}
- return 1;
+ return true;
}
/* add_id()
*
* inputs - client, channel, id to add, type, forward
- * outputs - 0 on failure, 1 on success
+ * outputs - false on failure, true on success
* side effects - given id is added to the appropriate list
*/
-int
+bool
add_id(struct Client *source_p, struct Channel *chptr, const char *banid, const char *forward,
rb_dlink_list * list, long mode_type)
{
{
sendto_one(source_p, form_str(ERR_BANLISTFULL),
me.name, source_p->name, chptr->chname, realban);
- return 0;
+ return false;
}
RB_DLINK_FOREACH(ptr, list->head)
{
actualBan = ptr->data;
if(mask_match(actualBan->banstr, realban))
- return 0;
+ return false;
}
}
/* dont let remotes set duplicates */
{
actualBan = ptr->data;
if(!irccmp(actualBan->banstr, realban))
- return 0;
+ return false;
}
}
if(mode_type == CHFL_BAN || mode_type == CHFL_QUIET || mode_type == CHFL_EXCEPTION)
chptr->bants++;
- return 1;
+ return true;
}
/* del_id()
* output - true if forwarding should be allowed
* side effects - numeric sent if not allowed
*/
-static int
+static bool
check_forward(struct Client *source_p, struct Channel *chptr,
const char *forward)
{
(MyClient(source_p) && (strlen(forward) > LOC_CHANNELLEN || hash_find_resv(forward))))
{
sendto_one_numeric(source_p, ERR_BADCHANNAME, form_str(ERR_BADCHANNAME), forward);
- return 0;
+ return false;
}
/* don't forward to inconsistent target -- jilles */
if(chptr->chname[0] == '#' && forward[0] == '&')
{
sendto_one_numeric(source_p, ERR_BADCHANNAME,
form_str(ERR_BADCHANNAME), forward);
- return 0;
+ return false;
}
if(MyClient(source_p) && (targptr = find_channel(forward)) == NULL)
{
sendto_one_numeric(source_p, ERR_NOSUCHCHANNEL,
form_str(ERR_NOSUCHCHANNEL), forward);
- return 0;
+ return false;
}
if(MyClient(source_p) && !(targptr->mode.mode & MODE_FREETARGET))
{
{
sendto_one(source_p, form_str(ERR_CHANOPRIVSNEEDED),
me.name, source_p->name, targptr->chname);
- return 0;
+ return false;
}
}
- return 1;
+ return true;
}
/* fix_key()