]> sjero.net Git - wget/commitdiff
[svn] Include winsock headers from mswindows.h.
authorhniksic <devnull@localhost>
Fri, 3 Oct 2003 16:37:47 +0000 (09:37 -0700)
committerhniksic <devnull@localhost>
Fri, 3 Oct 2003 16:37:47 +0000 (09:37 -0700)
By Gisle Vanem.

src/ChangeLog
src/connect.c
src/mswindows.h

index 3b55ae253d9326290da769299a3346e97b32ac09..8328e6a84ba0a2eec47a008c0ae4540752dd9d71 100644 (file)
@@ -1,3 +1,9 @@
+2003-10-03  Gisle Vanem  <giva@bgnett.no>
+
+       * connect.c: And don't include them here.
+
+       * mswindows.h: Include winsock headers here.
+
 2003-10-03  Hrvoje Niksic  <hniksic@xemacs.org>
 
        * html-parse.c (convert_and_copy): Move variable declarations
index 483d4c54cf73aadd6720daa4aa220a254aa84337..96c7c3193761c39bb74f4a2fc349c31ad71b9445 100644 (file)
@@ -37,16 +37,14 @@ so, delete this exception statement from your version.  */
 #endif
 #include <assert.h>
 
-#ifdef WINDOWS
-# include <winsock.h>
-#else
+#ifndef WINDOWS
 # include <sys/socket.h>
 # include <netdb.h>
 # include <netinet/in.h>
-#ifndef __BEOS__
-# include <arpa/inet.h>
-#endif
-#endif /* WINDOWS */
+# ifndef __BEOS__
+#  include <arpa/inet.h>
+# endif
+#endif /* not WINDOWS */
 
 #include <errno.h>
 #ifdef HAVE_STRING_H
@@ -201,7 +199,7 @@ connect_to_one (ip_address *addr, unsigned short port, int silent)
       wget_sockaddr_set_address (&bsa, ip_default_family, 0, &bind_address);
       if (bind (sock, &bsa.sa, sockaddr_len ()))
        {
-         close (sock);
+         CLOSE (sock);
          sock = -1;
          goto out;
        }
@@ -211,7 +209,7 @@ connect_to_one (ip_address *addr, unsigned short port, int silent)
   if (connect_with_timeout (sock, &sa.sa, sockaddr_len (),
                            opt.connect_timeout) < 0)
     {
-      close (sock);
+      CLOSE (sock);
       sock = -1;
       goto out;
     }
index 2f25fc22871891c56d86b97842c68154745548ff..7d6f36ab57b075839610fabfe43f4d298e3b4fea 100644 (file)
@@ -30,6 +30,37 @@ so, delete this exception statement from your version.  */
 #ifndef MSWINDOWS_H
 #define MSWINDOWS_H
 
+#ifndef WGET_H
+#error Include mswindows.h inside or after "wget.h"
+#endif
+
+#ifndef WIN32_LEAN_AND_MEAN
+#define WIN32_LEAN_AND_MEAN  /* Prevent inclusion of <winsock*.h> in <windows.h> */
+#endif
+
+#include <windows.h>
+
+/* Use the correct winsock header; <ws2tcpip.h> includes <winsock2.h> only on
+ * Watcom/MingW. We cannot use <winsock.h> for IPv6. Using getaddrinfo() requires
+ * <ws2tcpip.h>
+ */
+#if defined(ENABLE_IPV6) || defined(HAVE_GETADDRINFO)
+# include <winsock2.h>
+# include <ws2tcpip.h>
+#else
+# include <winsock.h>
+#endif
+
+#ifndef EAI_SYSTEM
+# define EAI_SYSTEM -1   /* value doesn't matter */
+#endif
+
+/* Must include <sys/stat.h> because of 'stat' define below. */
+#include <sys/stat.h>
+
+/* Missing in several .c files. Include here. */
+#include <io.h>
+
 /* Apparently needed for alloca(). */
 #include <malloc.h>
 
@@ -81,8 +112,6 @@ so, delete this exception statement from your version.  */
 # define mkdir(a, b) mkdir(a)
 #endif /* __BORLANDC__ */
 
-#include <windows.h>
-
 /* Declarations of various socket errors: */
 
 #define EWOULDBLOCK             WSAEWOULDBLOCK
@@ -137,4 +166,14 @@ char *ws_mypath (void);
 void ws_help (const char *);
 void windows_main_junk (int *, char **, char **);
 
+/* Things needed for IPv6; missing in <ws2tcpip.h>. */
+#ifdef ENABLE_IPV6
+# ifndef HAVE_NTOP
+  extern const char *inet_ntop (int af, const void *src, char *dst, size_t size);
+# endif
+# ifndef HAVE_PTON
+  extern int inet_pton (int af, const char *src, void *dst);
+# endif
+#endif /* ENABLE_IPV6 */
+
 #endif /* MSWINDOWS_H */