aboutsummaryrefslogtreecommitdiff
path: root/src/server_reqs.c
diff options
context:
space:
mode:
authorFranklin Wei <git@fwei.tk>2016-01-13 20:10:05 -0500
committerFranklin Wei <git@fwei.tk>2016-01-13 20:11:03 -0500
commitabe9f416501c5354be3ce292b4220000edf021ab (patch)
treeac8b809e18683ea9eefff58c744c6613b8805a0d /src/server_reqs.c
parentcc9c177672edcc65933b15ba91831bf09bbec023 (diff)
downloadnetcosm-abe9f416501c5354be3ce292b4220000edf021ab.zip
netcosm-abe9f416501c5354be3ce292b4220000edf021ab.tar.gz
netcosm-abe9f416501c5354be3ce292b4220000edf021ab.tar.bz2
netcosm-abe9f416501c5354be3ce292b4220000edf021ab.tar.xz
WIP on master: d274aa8 rewrite everything to use libev
Diffstat (limited to 'src/server_reqs.c')
-rw-r--r--src/server_reqs.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/server_reqs.c b/src/server_reqs.c
index 10f6ad3..cdafe7b 100644
--- a/src/server_reqs.c
+++ b/src/server_reqs.c
@@ -210,6 +210,15 @@ static void req_add_user(unsigned char *data, size_t datalen, struct child_data
write(sender->outpipe[1], &success, sizeof(success));
}
+static void req_send_geninfo(unsigned char *data, size_t datalen, struct child_data *sender)
+{
+ (void) data;
+ (void) datalen;
+ char buf[128];
+ int len = snprintf(buf, sizeof(buf), "Total clients: %d\n", num_clients);
+ write(sender->outpipe[1], buf, len);
+}
+
static const struct child_request {
unsigned char code;
@@ -229,7 +238,7 @@ static const struct child_request {
} requests[] = {
{ REQ_NOP, false, CHILD_NONE, NULL, NULL, REQ_NOP },
{ REQ_BCASTMSG, true, CHILD_ALL, req_pass_msg, NULL, REQ_BCASTMSG },
- { REQ_LISTCLIENTS, false, CHILD_ALL, req_send_clientinfo, NULL, REQ_BCASTMSG },
+ { REQ_LISTCLIENTS, false, CHILD_ALL, req_send_clientinfo, req_send_geninfo, REQ_BCASTMSG },
{ REQ_CHANGESTATE, true, CHILD_SENDER, req_change_state, NULL, REQ_NOP },
{ REQ_CHANGEUSER, true, CHILD_SENDER, req_change_user, NULL, REQ_NOP },
{ REQ_KICK, true, CHILD_ALL, req_kick_client, NULL, REQ_NOP },