diff -Naur inetutils-1.9.2-orig/telnet/telnet.c inetutils-1.9.2/telnet/telnet.c
--- inetutils-1.9.2-orig/telnet/telnet.c	2013-09-26 12:36:38.000000000 +0300
+++ inetutils-1.9.2/telnet/telnet.c	2014-12-12 11:55:11.761200000 +0300
@@ -51,7 +51,7 @@
 
 #include <sys/types.h>
 
-#if defined unix || defined __unix || defined __unix__
+#if defined unix || defined __unix || defined __unix__ || defined __CYGWIN__
 # include <signal.h>
 /* By the way, we need to include curses.h before telnet.h since,
  * among other things, telnet.h #defines 'DO', which is a variable
@@ -756,7 +756,8 @@
  * mklist will examine this buffer, so erase it
  * to cover corner cases.
  */
-char termbuf[2048] = { 0 };
+#define TERMBUF_SZ 2048
+char termbuf[TERMBUF_SZ] = { 0 };
 
 static int
 init_term (char *tname, int *errp)
@@ -2371,7 +2372,7 @@
   netex = !SYNCHing;
 
   /* If we have seen a signal recently, reset things */
-#if defined TN3270 && (defined unix || defined __unix || defined __unix__)
+#if defined TN3270 && (defined unix || defined __unix || defined __unix__ || defined __CYGWIN__)
   if (HaveInput)
     {
       HaveInput = 0;
