diff -Naur inetutils-1.9.2-orig/talk/ctl.c inetutils-1.9.2/talk/ctl.c
--- inetutils-1.9.2-orig/talk/ctl.c	2013-09-26 12:36:38.000000000 +0300
+++ inetutils-1.9.2/talk/ctl.c	2014-12-12 11:55:13.492800000 +0300
@@ -57,6 +57,13 @@
 
 #include <sys/types.h>
 #include <sys/socket.h>
+#ifdef HAVE_OSOCKADDR_H
+# include <osockaddr.h>
+#else
+# ifndef HAVE_STRUCT_OSOCKADDR
+#  include <protocols/osockaddr.h>
+# endif
+#endif
 #include <protocols/talkd.h>
 #include <netinet/in.h>
 #include "talk.h"
diff -Naur inetutils-1.9.2-orig/talk/ctl_transact.c inetutils-1.9.2/talk/ctl_transact.c
--- inetutils-1.9.2-orig/talk/ctl_transact.c	2013-09-26 12:36:38.000000000 +0300
+++ inetutils-1.9.2/talk/ctl_transact.c	2014-12-12 11:55:13.492800000 +0300
@@ -55,6 +55,13 @@
 #include <time.h>
 #include <netinet/in.h>
 #include <sys/select.h>
+#ifdef HAVE_OSOCKADDR_H
+# include <osockaddr.h>
+#else
+# ifndef HAVE_STRUCT_OSOCKADDR
+#  include <protocols/osockaddr.h>
+# endif
+#endif
 #include <protocols/talkd.h>
 #include <errno.h>
 #include "talk_ctl.h"
diff -Naur inetutils-1.9.2-orig/talk/display.c inetutils-1.9.2/talk/display.c
--- inetutils-1.9.2-orig/talk/display.c	2013-09-26 12:36:38.000000000 +0300
+++ inetutils-1.9.2/talk/display.c	2014-12-12 11:55:13.492800000 +0300
@@ -125,7 +125,11 @@
 
   for (i = 0; i < size; i++)
     {
+#ifdef __CYGWIN__
+      if  ((*text == '\n') || (*text == '\r'))
+#else
       if (*text == '\n')
+#endif
 	{
 	  xscroll (win, 0);
 	  text++;
diff -Naur inetutils-1.9.2-orig/talk/get_addrs.c inetutils-1.9.2/talk/get_addrs.c
--- inetutils-1.9.2-orig/talk/get_addrs.c	2013-09-26 12:36:38.000000000 +0300
+++ inetutils-1.9.2/talk/get_addrs.c	2014-12-12 11:55:13.492800000 +0300
@@ -55,6 +55,13 @@
 #include <sys/types.h>
 #include <sys/socket.h>
 #include <netinet/in.h>
+#ifdef HAVE_OSOCKADDR_H
+# include <osockaddr.h>
+#else
+# ifndef HAVE_STRUCT_OSOCKADDR
+#  include <protocols/osockaddr.h>
+# endif
+#endif
 #include <protocols/talkd.h>
 #include <netdb.h>
 #include <stdio.h>
diff -Naur inetutils-1.9.2-orig/talk/get_names.c inetutils-1.9.2/talk/get_names.c
--- inetutils-1.9.2-orig/talk/get_names.c	2013-09-26 12:36:38.000000000 +0300
+++ inetutils-1.9.2/talk/get_names.c	2014-12-12 11:55:13.492800000 +0300
@@ -55,6 +55,13 @@
 #include <sys/types.h>
 #include <sys/param.h>
 #include <sys/socket.h>
+#ifdef HAVE_OSOCKADDR_H
+# include <osockaddr.h>
+#else
+# ifndef HAVE_STRUCT_OSOCKADDR
+#  include <protocols/osockaddr.h>
+# endif
+#endif
 #include <netinet/in.h>
 #include <protocols/talkd.h>
 #include <pwd.h>
diff -Naur inetutils-1.9.2-orig/talk/invite.c inetutils-1.9.2/talk/invite.c
--- inetutils-1.9.2-orig/talk/invite.c	2013-09-26 12:36:38.000000000 +0300
+++ inetutils-1.9.2/talk/invite.c	2014-12-12 11:55:13.492800000 +0300
@@ -57,6 +57,13 @@
 #include <time.h>
 #include <signal.h>
 #include <netinet/in.h>
+#ifdef HAVE_OSOCKADDR_H
+# include <osockaddr.h>
+#else
+# ifndef HAVE_STRUCT_OSOCKADDR
+#  include <protocols/osockaddr.h>
+# endif
+#endif
 #include <protocols/talkd.h>
 #include <errno.h>
 #include <unistd.h>
diff -Naur inetutils-1.9.2-orig/talk/io.c inetutils-1.9.2/talk/io.c
--- inetutils-1.9.2-orig/talk/io.c	2013-09-26 12:36:38.000000000 +0300
+++ inetutils-1.9.2/talk/io.c	2014-12-12 11:55:13.508400000 +0300
@@ -69,6 +69,10 @@
 #include <sys/select.h>
 #include "talk.h"
 
+#ifdef __CYGWIN__
+#include <sys/socket.h>
+#endif
+
 #define A_LONG_TIME 10000000
 
 /*
diff -Naur inetutils-1.9.2-orig/talk/look_up.c inetutils-1.9.2/talk/look_up.c
--- inetutils-1.9.2-orig/talk/look_up.c	2013-09-26 12:36:38.000000000 +0300
+++ inetutils-1.9.2/talk/look_up.c	2014-12-12 11:55:13.508400000 +0300
@@ -54,6 +54,13 @@
 #include <sys/types.h>
 #include <sys/socket.h>
 #include <netinet/in.h>
+#ifdef HAVE_OSOCKADDR_H
+# include <osockaddr.h>
+#else
+# ifndef HAVE_STRUCT_OSOCKADDR
+#  include <protocols/osockaddr.h>
+# endif
+#endif
 #include <protocols/talkd.h>
 #include <unistd.h>
 #include <errno.h>
