return CMD_ERROR;
}
- rcp=cs_addchan(cip, sender, rup, founder, flags, type);
+ rcp=cs_addchan(cip, sender, rup, founder, flags, CHANMODE_DEFAULT, 0, type);
if(rcp == NULL) {
chanservstdmessage(sender, QM_ALREADYREGISTERED, cip->name->content);
if (notify)
int cs_unbanfn(nick *sender, chanindex *cip, int (*fn)(void *arg, struct chanban *ban), void *arg, int removepermbans, int abortonfailure);
void cs_logchanop(regchan *rcp, char *nick, reguser *rup);
int checkreason(nick *np, char *reason);
-regchan *cs_addchan(chanindex *cip, nick *sender, reguser *addedby, reguser *founder, flag_t flags, short type);
+regchan *cs_addchan(chanindex *cip, nick *sender, reguser *addedby, reguser *founder, flag_t flags, flag_t forcemodes, flag_t denymodes, short type);
/* chanservstdcmds.c */
int cs_doshowcommands(void *source, int cargc, char **cargv);
return CMD_ERROR;
}
- rcp = cs_addchan(cip, sender, rup, founder, QCFLAG_JOINED | QCFLAG_AUTOOP | QCFLAG_BITCH | QCFLAG_FORCETOPIC | QCFLAG_PROTECT | QCFLAG_TOPICSAVE, type);
+ rcp = cs_addchan(cip, sender, rup, founder, QCFLAG_JOINED | QCFLAG_AUTOOP | QCFLAG_BITCH | QCFLAG_FORCETOPIC | QCFLAG_PROTECT | QCFLAG_TOPICSAVE, CHANMODE_NOCTCP | CHANMODE_DELJOINS | CHANMODE_MODNOAUTH | CHANMODE_NONOTICE | CHANMODE_NOEXTMSG | CHANMODE_SINGLETARG | CHANMODE_TOPICLIMIT | CHANMODE_NOQUITMSG, 0, type);
if(!rcp) {
controlreply(sender, "ADDCHAN FALSE alreadyregistered");
return CMD_ERROR;
return 1;
}
-regchan *cs_addchan(chanindex *cip, nick *sender, reguser *addedby, reguser *founder, flag_t flags, short type) {
+regchan *cs_addchan(chanindex *cip, nick *sender, reguser *addedby, reguser *founder, flag_t flags, flag_t forcemodes, flag_t denymodes, short type) {
regchan *rcp;
regchanuser *rcup;
void *args[3];
rcp->lastcountersync=0;
rcp->limit=0;
- rcp->forcemodes=CHANMODE_DEFAULT;
- rcp->denymodes=0;
+ rcp->forcemodes=forcemodes;
+ rcp->denymodes=denymodes;
if (CIsAutoLimit(rcp)) {
rcp->forcemodes |= CHANMODE_LIMIT;