If given an array option without an index either show or set all items,

and support -a for array options. Allow the separator for set to be
specified in the options table (will be used for backwards compatibility
later).
This commit is contained in:
nicm
2017-01-24 19:11:46 +00:00
parent 3d74e89a39
commit 61fce272ea
4 changed files with 79 additions and 43 deletions

View File

@ -92,11 +92,20 @@ cmd_show_options_print(struct cmd *self, struct cmdq_item *item,
const char *name;
const char *value;
char *tmp, *escaped;
u_int size, i;
if (idx != -1) {
xasprintf(&tmp, "%s[%d]", options_name(o), idx);
name = tmp;
} else {
if (options_array_size(o, &size) != -1) {
for (i = 0; i < size; i++) {
if (options_array_get(o, i) == NULL)
continue;
cmd_show_options_print(self, item, o, i);
}
return;
}
tmp = NULL;
name = options_name(o);
}