static int mode_limit_simple;
static int mask_pos;
+char cflagsbuf[256];
+char cflagsmyinfo[256];
+
int chmode_flags[256];
+
/* OPTIMIZE ME! -- dwr */
void
construct_noparam_modes(void)
{
int i;
+ char *ptr = cflagsbuf;
+ char *ptr2 = cflagsmyinfo;
static int prev_chmode_flags[256];
+
+ *ptr = '\0';
+ *ptr2 = '\0';
for(i = 0; i < 256; i++)
{
}
else
prev_chmode_flags[i] = chmode_flags[i];
+
+ switch (chmode_flags[i])
+ {
+ case MODE_EXLIMIT:
+ case MODE_DISFORWARD:
+ if(ConfigChannel.use_forward)
+ {
+ *ptr++ = (char) i;
+ }
+
+ break;
+ case MODE_REGONLY:
+ if(rb_dlink_list_length(&service_list))
+ {
+ *ptr++ = (char) i;
+ }
+
+ break;
+ default:
+ if(chmode_flags[i] != 0)
+ {
+ *ptr++ = (char) i;
+ }
+ }
+
+ /* Should we leave orphaned check here? -- dwr */
+ if(!(chmode_table[i].set_func == chm_nosuch) && !(chmode_table[i].set_func == chm_orphaned))
+ {
+ *ptr2++ = (char) i;
+ }
}
+
+ *ptr++ = '\0';
+ *ptr2++ = '\0';
}
/*