Update of /cvsroot/srvx/services/src
In directory usw-pr-cvs1:/tmp/cvs-serv24966/src
Modified Files:
opserv.c
Log Message:
make the ?help indexes show the correct min_opserv_level values
Index: opserv.c
===================================================================
RCS file: /cvsroot/srvx/services/src/opserv.c,v
retrieving revision 1.270
retrieving revision 1.271
diff -C2 -r1.270 -r1.271
*** opserv.c 7 Sep 2002 02:41:49 -0000 1.270
--- opserv.c 7 Sep 2002 03:05:16 -0000 1.271
***************
*** 2227,2230 ****
--- 2227,2231 ----
dict_iterator_t it;
int row;
+ unsigned int level;
if (!irccasecmp(variable, "index")) {
***************
*** 2242,2250 ****
exp.value.table.contents[row] = calloc(exp.value.table.width, sizeof(char*));
exp.value.table.contents[row][0] = iter_key(it);
! if (!level_strings[cmd->min_opserv_level]) {
! level_strings[cmd->min_opserv_level] = malloc(16);
! snprintf(level_strings[cmd->min_opserv_level], 16, "%3d", cmd->min_opserv_level);
}
! exp.value.table.contents[row][1] = level_strings[cmd->min_opserv_level];
}
} else if (!strncasecmp(variable, "level", 5)) {
--- 2243,2255 ----
exp.value.table.contents[row] = calloc(exp.value.table.width, sizeof(char*));
exp.value.table.contents[row][0] = iter_key(it);
! do {
! if (level < cmd->min_opserv_level) level = cmd->min_opserv_level;
! cmd = cmd->template;
! } while (cmd);
! if (!level_strings[level]) {
! level_strings[level] = malloc(16);
! snprintf(level_strings[level], 16, "%3d", level);
}
! exp.value.table.contents[row][1] = level_strings[level];
}
} else if (!strncasecmp(variable, "level", 5)) {
***************
*** 2252,2257 ****
exp.type = HF_STRING;
if (cmd) {
exp.value.str = malloc(16);
! snprintf(exp.value.str, 16, "%3d", cmd->min_opserv_level);
} else {
exp.value.str = NULL;
--- 2257,2266 ----
exp.type = HF_STRING;
if (cmd) {
+ do {
+ if (level < cmd->min_opserv_level) level = cmd->min_opserv_level;
+ cmd = cmd->template;
+ } while (cmd);
exp.value.str = malloc(16);
! snprintf(exp.value.str, 16, "%3d", level);
} else {
exp.value.str = NULL;
|