summaryrefslogtreecommitdiffstats
path: root/tty-keys.c
diff options
context:
space:
mode:
authornicm <nicm>2019-03-18 11:58:40 +0000
committernicm <nicm>2019-03-18 11:58:40 +0000
commitce6be7afd4d10b542f9cce8634d6bdd81754f775 (patch)
tree01a13843f212816c057069a13d02b46743ed8fd0 /tty-keys.c
parentd2d43987d0f35af2bc012f1260fdb81c851fe390 (diff)
Make array options a sparse tree instead of an array of char * and
remove the size limit.
Diffstat (limited to 'tty-keys.c')
-rw-r--r--tty-keys.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/tty-keys.c b/tty-keys.c
index 3eb8d428..da84077b 100644
--- a/tty-keys.c
+++ b/tty-keys.c
@@ -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);
}
}
}