summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--status.c8
-rw-r--r--tty-keys.c9
2 files changed, 11 insertions, 6 deletions
diff --git a/status.c b/status.c
index 9e43b5b1..1a11a564 100644
--- a/status.c
+++ b/status.c
@@ -1293,6 +1293,7 @@ status_prompt_complete_list(u_int *size, const char *s)
size_t slen = strlen(s), valuelen;
struct options_entry *o;
struct options_array_item *a;
+ union options_value *ov;
const char *layouts[] = {
"even-horizontal", "even-vertical", "main-horizontal",
"main-vertical", "tiled", NULL
@@ -1321,10 +1322,13 @@ status_prompt_complete_list(u_int *size, const char *s)
if (o != NULL) {
a = options_array_first(o);
while (a != NULL) {
- value = options_array_item_value(a);;
- if (value == NULL || (cp = strchr(value, '=')) == NULL)
+ ov = options_array_item_value(a);
+ if (ov == NULL)
goto next;
+ value = ov->string;
+ if ((cp = strchr(value, '=')) == NULL)
+ goto next;
valuelen = cp - value;
if (slen > valuelen || strncmp(value, s, slen) != 0)
goto next;
diff --git a/tty-keys.c b/tty-keys.c
index 7557eca0..c6dcbb56 100644
--- a/tty-keys.c
+++ b/tty-keys.c
@@ -399,9 +399,10 @@ tty_keys_build(struct tty *tty)
const struct tty_default_key_raw *tdkr;
const struct tty_default_key_code *tdkc;
u_int i;
- const char *s, *value;
+ const char *s;
struct options_entry *o;
struct options_array_item *a;
+ union options_value *ov;
if (tty->key_tree != NULL)
tty_keys_free(tty);
@@ -427,9 +428,9 @@ tty_keys_build(struct tty *tty)
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);
+ ov = options_array_item_value(a);
+ if (ov != NULL)
+ tty_keys_add(tty, ov->string, KEYC_USER + i);
a = options_array_next(a);
}
}