X-Git-Url: https://git.cworth.org/git?p=ttt;a=blobdiff_plain;f=src%2Fttt-server.c;h=d98fc24e2891dafd8de6f34efe4fdffac3536edb;hp=450582b7667dae57fa374abc2d126dbfb76e4bf1;hb=65526318e1c88d56bd1a78d072c4d38252dbd864;hpb=82b903360548669988e41ffe055bc2215a28b404 diff --git a/src/ttt-server.c b/src/ttt-server.c index 450582b..d98fc24 100644 --- a/src/ttt-server.c +++ b/src/ttt-server.c @@ -120,6 +120,7 @@ ttt_server_unregister_client (ttt_server_t *server, ttt_client_t *client) pthread_mutex_unlock (&server->mutex); } +/* Exported: See ttt-server.h for documentation. */ void ttt_server_broadcast (ttt_server_t *server, const char *message) { @@ -133,6 +134,30 @@ ttt_server_broadcast (ttt_server_t *server, const char *message) pthread_mutex_unlock (&server->mutex); } +/* Exported: See ttt-server.h for documentation. */ +const char* +ttt_server_who (ttt_server_t *server) +{ + int i; + char *response; + + pthread_mutex_lock (&server->mutex); + + xasprintf (&response, "WHO"); + + for (i = 0; i < server->num_clients; i++) + xasprintf (&response, "%s %s %d", + response, + ttt_client_get_name (server->clients[i]), + ttt_client_get_num_wins (server->clients[i])); + + xasprintf (&response, "%s\n", response); + + pthread_mutex_unlock (&server->mutex); + + return response; +} + /* Exported: See ttt-server.h for documentation. */ const char* ttt_server_get_host (ttt_server_t *server)