Make array options a sparse tree instead of an array of char * and

remove the size limit.
This commit is contained in:
nicm
2019-03-18 11:58:40 +00:00
parent d2d43987d0
commit ce6be7afd4
9 changed files with 197 additions and 117 deletions

View File

@ -398,9 +398,10 @@ tty_keys_build(struct tty *tty)
{
const struct tty_default_key_raw *tdkr;
const struct tty_default_key_code *tdkc;
u_int i, size;
u_int i;
const char *s, *value;
struct options_entry *o;
struct options_array_item *a;
if (tty->key_tree != NULL)
tty_keys_free(tty);
@ -423,11 +424,13 @@ tty_keys_build(struct tty *tty)
}
o = options_get(global_options, "user-keys");
if (o != NULL && options_array_size(o, &size) != -1) {
for (i = 0; i < size; i++) {
value = options_array_get(o, i);
if (o != NULL) {
a = options_array_first(o);
while (a != NULL) {
value = options_array_item_value(a);
if (value != NULL)
tty_keys_add(tty, value, KEYC_USER + i);
a = options_array_next(a);
}
}
}