diff options
author | Nicholas Marriott <nicholas.marriott@gmail.com> | 2013-07-12 22:21:42 +0100 |
---|---|---|
committer | Nicholas Marriott <nicholas.marriott@gmail.com> | 2013-07-12 22:21:42 +0100 |
commit | e8567098a4eaa81306effeaef430d9d74f603f7a (patch) | |
tree | fa21f9295cf88217e055b4029e31befb413a7820 /server-client.c | |
parent | bdea2f9eda1abc8f4a6c423af62ef7538b2ad249 (diff) | |
download | rtmux-e8567098a4eaa81306effeaef430d9d74f603f7a.tar.gz rtmux-e8567098a4eaa81306effeaef430d9d74f603f7a.tar.bz2 rtmux-e8567098a4eaa81306effeaef430d9d74f603f7a.zip |
Add support for Cgywin, apparently it is enough just to open the tty again in
the server and fd passing is not necessary. Needs some ifdefs unfortunately but
no way around that and some of them can go next time we're willing to do a
protocol bump. Patch from J Raynor jxraynor at gmail dot com.
Diffstat (limited to 'server-client.c')
-rw-r--r-- | server-client.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/server-client.c b/server-client.c index 01616cbf..5923eb0e 100644 --- a/server-client.c +++ b/server-client.c @@ -825,9 +825,12 @@ server_client_msg_dispatch(struct client *c) case MSG_IDENTIFY: if (datalen != sizeof identifydata) fatalx("bad MSG_IDENTIFY size"); + memcpy(&identifydata, imsg.data, sizeof identifydata); +#ifdef __CYGWIN__ + imsg.fd = open(identifydata.ttyname, O_RDWR|O_NOCTTY); +#endif if (imsg.fd == -1) fatalx("MSG_IDENTIFY missing fd"); - memcpy(&identifydata, imsg.data, sizeof identifydata); server_client_msg_identify(c, &identifydata, imsg.fd); break; |