aboutsummaryrefslogtreecommitdiff
path: root/server-client.c
diff options
context:
space:
mode:
Diffstat (limited to 'server-client.c')
-rw-r--r--server-client.c5
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;