From 8a214b2f8e57be9b55c091ebc707a05a176f3eaa Mon Sep 17 00:00:00 2001 From: nicm Date: Mon, 29 May 2017 20:37:30 +0000 Subject: [PATCH] Function to count clients. --- server-client.c | 15 +++++++++++++++ tmux.h | 1 + 2 files changed, 16 insertions(+) diff --git a/server-client.c b/server-client.c index cfaf565b..18e9d935 100644 --- a/server-client.c +++ b/server-client.c @@ -49,6 +49,21 @@ static void server_client_dispatch_command(struct client *, struct imsg *); static void server_client_dispatch_identify(struct client *, struct imsg *); static void server_client_dispatch_shell(struct client *); +/* Number of attached clients. */ +u_int +server_client_how_many(void) +{ + struct client *c; + u_int n; + + n = 0; + TAILQ_FOREACH(c, &clients, entry) { + if (c->session != NULL && (~c->flags & CLIENT_DETACHING)) + n++; + } + return (n); +} + /* Identify mode callback. */ static void server_client_callback_identify(__unused int fd, __unused short events, diff --git a/tmux.h b/tmux.h index 6fcfd9d3..9c25bcc9 100644 --- a/tmux.h +++ b/tmux.h @@ -1836,6 +1836,7 @@ void server_update_socket(void); void server_add_accept(int); /* server-client.c */ +u_int server_client_how_many(void); void server_client_set_identify(struct client *); void server_client_clear_identify(struct client *, struct window_pane *); void server_client_set_key_table(struct client *, const char *);