From 6ff3f3e7cec7cd78a01d0bf76cbccfbe68dc0894 Mon Sep 17 00:00:00 2001
From: Ramiro Polla <ramiro.polla@gmail.com>
Date: Wed, 8 Aug 2007 19:18:10 +0000
Subject: [PATCH] Check for winsock2.h instead of __MINGW32__

Originally committed as revision 9988 to svn://svn.ffmpeg.org/ffmpeg/trunk
---
 configure                | 2 ++
 libavformat/network.h    | 2 +-
 libavformat/os_support.c | 8 ++++----
 libavformat/os_support.h | 3 +++
 4 files changed, 10 insertions(+), 5 deletions(-)

diff --git a/configure b/configure
index 9598bce6c33..35737a75498 100755
--- a/configure
+++ b/configure
@@ -695,6 +695,7 @@ HAVE_LIST="
     sys_soundcard_h
     termios_h
     threads
+    winsock2_h
 "
 
 CMDLINE_SELECT="
@@ -1534,6 +1535,7 @@ check_header termios.h
 check_header conio.h
 
 check_header arpa/inet.h
+check_header winsock2.h
 
 check_func inet_aton
 enabled zlib && check_lib zlib.h zlibVersion -lz || zlib="no"
diff --git a/libavformat/network.h b/libavformat/network.h
index 723b4f95366..37606ee98df 100644
--- a/libavformat/network.h
+++ b/libavformat/network.h
@@ -21,7 +21,7 @@
 #ifndef NETWORK_H
 #define NETWORK_H
 
-#ifdef __MINGW32__
+#ifdef HAVE_WINSOCK2_H
 #include <winsock2.h>
 #include <ws2tcpip.h>
 
diff --git a/libavformat/os_support.c b/libavformat/os_support.c
index 65eb425eb36..13f82f76bb4 100644
--- a/libavformat/os_support.c
+++ b/libavformat/os_support.c
@@ -25,7 +25,7 @@
 #include <fcntl.h>
 
 #ifndef HAVE_SYS_POLL_H
-#if defined(__MINGW32__)
+#ifdef HAVE_WINSOCK2_H
 #include <winsock2.h>
 #else
 #include <sys/select.h>
@@ -70,7 +70,7 @@ int resolve_host(struct in_addr *sin_addr, const char *hostname)
 
 int ff_socket_nonblock(int socket, int enable)
 {
-#ifdef __MINGW32__
+#ifdef HAVE_WINSOCK2_H
    return ioctlsocket(socket, FIONBIO, &enable);
 #else
    if (enable)
@@ -92,7 +92,7 @@ int poll(struct pollfd *fds, nfds_t numfds, int timeout)
     int n;
     int rc;
 
-#ifdef __MINGW32__
+#ifdef HAVE_WINSOCK2_H
     if (numfds >= FD_SETSIZE) {
         errno = EINVAL;
         return -1;
@@ -107,7 +107,7 @@ int poll(struct pollfd *fds, nfds_t numfds, int timeout)
     for(i = 0; i < numfds; i++) {
         if (fds[i].fd < 0)
             continue;
-#ifndef __MINGW32__
+#ifndef HAVE_WINSOCK2_H
         if (fds[i].fd >= FD_SETSIZE) {
             errno = EINVAL;
             return -1;
diff --git a/libavformat/os_support.h b/libavformat/os_support.h
index 13615eec9ef..30c069d78b5 100644
--- a/libavformat/os_support.h
+++ b/libavformat/os_support.h
@@ -43,6 +43,9 @@ __declspec(dllimport) void __stdcall Sleep(unsigned long dwMilliseconds);
 #  define usleep(t)    Sleep((t) / 1000)
 #  include <fcntl.h>
 #  define lseek(f,p,w) _lseeki64((f), (p), (w))
+#endif
+
+#ifdef HAVE_WINSOCK2_H
 #  define HAVE_CLOSESOCKET 1
 #endif
 
-- 
GitLab