diff options
Diffstat (limited to 'status.c')
-rw-r--r-- | status.c | 8 |
1 files changed, 6 insertions, 2 deletions
@@ -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; |