The problem is on the override function, i'm assuming i've made an error in the check against the official_channels block.
Code: Select all
int chline_join_override(Cmdoverride *ovr, aClient *cptr, aClient *sptr, int parc, char *parv[])
{
aChannel *chptr;
chptr = find_channel(parv[1], NULL);
ConfigItem_offchans *walker;
for (walker = conf_offchans; walker; walker = (ConfigItem_offchans *)walker->next)
{
if (strcmp(walker->chname, chptr->chname) == 0 && HasUmodeCh(sptr))
sendto_one(sptr, "You have been banned from joining non-official channels.");
else
CallCmdoverride(overide, cptr, sptr, parc, parv); /* let the original command have it */
}
}
I also need to point out that the reason I haven't checked to see if official_channels is defined is because it checks for it during the beginning stages and fails to load if it isn't. There are no compile errors, but there's a servercrash when the join command is used. Forgive me if i've made a stupid mistake,
I don't need a really huge handout, just point me in the direction of what i'm doing wrong