=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/tmux/cmd.c,v retrieving revision 1.142 retrieving revision 1.143 diff -u -r1.142 -r1.143 --- src/usr.bin/tmux/cmd.c 2019/03/18 11:58:40 1.142 +++ src/usr.bin/tmux/cmd.c 2019/04/23 20:36:55 1.143 @@ -1,4 +1,4 @@ -/* $OpenBSD: cmd.c,v 1.142 2019/03/18 11:58:40 nicm Exp $ */ +/* $OpenBSD: cmd.c,v 1.143 2019/04/23 20:36:55 nicm Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott @@ -321,10 +321,11 @@ { struct options_entry *o; struct options_array_item *a; + union options_value *ov; int old_argc = *argc, new_argc, i; char **old_argv = *argv, **new_argv; size_t wanted; - const char *s, *cp = NULL; + const char *cp = NULL; o = options_get_only(global_options, "command-alias"); if (o == NULL) @@ -333,14 +334,16 @@ a = options_array_first(o); while (a != NULL) { - s = options_array_item_value(a); - if (s != NULL) { - cp = strchr(s, '='); - if (cp != NULL && - (size_t)(cp - s) == wanted && - strncmp(old_argv[0], s, wanted) == 0) - break; + ov = options_array_item_value(a); + if (ov == NULL) { + a = options_array_next(a); + continue; } + cp = strchr(ov->string, '='); + if (cp != NULL && + (size_t)(cp - ov->string) == wanted && + strncmp(old_argv[0], ov->string, wanted) == 0) + break; a = options_array_next(a); } if (a == NULL)