diff options
author | nicm <nicm> | 2020-09-22 05:23:34 +0000 |
---|---|---|
committer | nicm <nicm> | 2020-09-22 05:23:34 +0000 |
commit | 86d6ac2f0695b02bdbef542cce3cdb0cca39160e (patch) | |
tree | 3f1125781bcd4ac2dcf504fe39258a639fe849e6 /server-client.c | |
parent | 88b66e9e28733676b15a996d8fb5cbf66e01bc88 (diff) | |
download | rtmux-86d6ac2f0695b02bdbef542cce3cdb0cca39160e.tar.gz rtmux-86d6ac2f0695b02bdbef542cce3cdb0cca39160e.tar.bz2 rtmux-86d6ac2f0695b02bdbef542cce3cdb0cca39160e.zip |
Fix warnings on some platforms with %llx and add a new message to handle
64-bit client flags.
Diffstat (limited to 'server-client.c')
-rw-r--r-- | server-client.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/server-client.c b/server-client.c index 4010019d..efeec85b 100644 --- a/server-client.c +++ b/server-client.c @@ -1985,6 +1985,7 @@ server_client_dispatch(struct imsg *imsg, void *arg) switch (imsg->hdr.type) { case MSG_IDENTIFY_FEATURES: case MSG_IDENTIFY_FLAGS: + case MSG_IDENTIFY_LONGFLAGS: case MSG_IDENTIFY_TERM: case MSG_IDENTIFY_TTYNAME: case MSG_IDENTIFY_CWD: @@ -2143,6 +2144,7 @@ server_client_dispatch_identify(struct client *c, struct imsg *imsg) const char *data, *home; size_t datalen; int flags, feat; + uint64_t longflags; char *name; if (c->flags & CLIENT_IDENTIFIED) @@ -2167,6 +2169,14 @@ server_client_dispatch_identify(struct client *c, struct imsg *imsg) c->flags |= flags; log_debug("client %p IDENTIFY_FLAGS %#x", c, flags); break; + case MSG_IDENTIFY_LONGFLAGS: + if (datalen != sizeof longflags) + fatalx("bad MSG_IDENTIFY_LONGFLAGS size"); + memcpy(&longflags, data, sizeof longflags); + c->flags |= longflags; + log_debug("client %p IDENTIFY_LONGFLAGS %#llx", c, + (unsigned long long)longflags); + break; case MSG_IDENTIFY_TERM: if (datalen == 0 || data[datalen - 1] != '\0') fatalx("bad MSG_IDENTIFY_TERM string"); |