/* SET SPLITMODE */ static void quote_splitmode(struct Client *source_p, const char *charval, int intval) { if(charval) { int newval; for (newval = 0; splitmode_values[newval]; newval++) { if(!irccmp(splitmode_values[newval], charval)) break; } /* OFF */ if(newval == 0) { sendto_realops_snomask(SNO_GENERAL, L_ALL, "%s is disabling splitmode", get_oper_name(source_p)); splitmode = false; splitchecking = false; rb_event_delete(check_splitmode_ev); check_splitmode_ev = NULL; } /* ON */ else if(newval == 1) { sendto_realops_snomask(SNO_GENERAL, L_ALL, "%s is enabling and activating splitmode", get_oper_name(source_p)); splitmode = true; splitchecking = false; /* we might be deactivating an automatic splitmode, so pull the event */ rb_event_delete(check_splitmode_ev); check_splitmode_ev = NULL; } /* AUTO */ else if(newval == 2) { sendto_realops_snomask(SNO_GENERAL, L_ALL, "%s is enabling automatic splitmode", get_oper_name(source_p)); splitchecking = true; check_splitmode(NULL); } } else /* if we add splitchecking to splitmode*2 we get a unique table to * pull values back out of, splitmode can be four states - but you can * only set to three, which means we cant use the same table --fl_ */ sendto_one_notice(source_p, ":SPLITMODE is currently %s", splitmode_status[(splitchecking + (splitmode * 2))]); }
static void _moddeinit(void) { rb_event_delete(iterate_clients_ev); delete_isupport("SAFELIST"); delete_isupport("ELIST"); }
static void moddeinit(void) { rb_event_delete(expire_tgchange_event); }