summaryrefslogtreecommitdiff
path: root/usr.bin/tmux/cmd-list-clients.c
diff options
context:
space:
mode:
Diffstat (limited to 'usr.bin/tmux/cmd-list-clients.c')
-rw-r--r--usr.bin/tmux/cmd-list-clients.c17
1 files changed, 8 insertions, 9 deletions
diff --git a/usr.bin/tmux/cmd-list-clients.c b/usr.bin/tmux/cmd-list-clients.c
index 8afdeaa9596..48a874646b5 100644
--- a/usr.bin/tmux/cmd-list-clients.c
+++ b/usr.bin/tmux/cmd-list-clients.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: cmd-list-clients.c,v 1.20 2015/02/05 10:29:43 nicm Exp $ */
+/* $OpenBSD: cmd-list-clients.c,v 1.21 2015/04/24 23:17:11 nicm Exp $ */
/*
* Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
@@ -51,7 +51,7 @@ cmd_list_clients_exec(struct cmd *self, struct cmd_q *cmdq)
struct session *s;
struct format_tree *ft;
const char *template;
- u_int i;
+ u_int idx;
char *line;
if (args_has(args, 't')) {
@@ -64,16 +64,13 @@ cmd_list_clients_exec(struct cmd *self, struct cmd_q *cmdq)
if ((template = args_get(args, 'F')) == NULL)
template = LIST_CLIENTS_TEMPLATE;
- for (i = 0; i < ARRAY_LENGTH(&clients); i++) {
- c = ARRAY_ITEM(&clients, i);
- if (c == NULL || c->session == NULL)
- continue;
-
- if (s != NULL && s != c->session)
+ idx = 0;
+ TAILQ_FOREACH(c, &clients, entry) {
+ if (c->session == NULL || (s != NULL && s != c->session))
continue;
ft = format_create();
- format_add(ft, "line", "%u", i);
+ format_add(ft, "line", "%u", idx);
format_defaults(ft, c, NULL, NULL, NULL);
line = format_expand(ft, template);
@@ -81,6 +78,8 @@ cmd_list_clients_exec(struct cmd *self, struct cmd_q *cmdq)
free(line);
format_free(ft);
+
+ idx++;
}
return (CMD_RETURN_NORMAL);