diff mbox series

[FFmpeg-devel,v2] os_support, network: Fix build failure on Windows with BZIP2

Message ID eb96f1cf-5800-46ea-956b-83437c42e0fc@amyspark.me
State New
Headers show
Series [FFmpeg-devel,v2] os_support, network: Fix build failure on Windows with BZIP2 | expand

Checks

Context Check Description
yinshiyou/make_loongarch64 success Make finished
yinshiyou/make_fate_loongarch64 success Make fate finished
andriy/make_x86 success Make finished
andriy/make_fate_x86 success Make fate finished

Commit Message

L. E. Segovia July 29, 2023, 6:48 p.m. UTC
Including winsock2.h without WIN32_LEAN_AND_MEAN causes bzlib.h to parse
as nonsense, due to an instance of #define char small in rpcndr.h
(included transitively from windows.h).

See: https://stackoverflow.com/a/27794577
Signed-off-by: L. E. Segovia <amy@amyspark.me>
---
 libavformat/network.h    | 1 +
 libavformat/os_support.c | 6 ++----
 libavformat/os_support.h | 1 +
 3 files changed, 4 insertions(+), 4 deletions(-)
diff mbox series

Patch

diff --git a/libavformat/network.h b/libavformat/network.h
index ca214087fc..06b6117fc7 100644
--- a/libavformat/network.h
+++ b/libavformat/network.h
@@ -35,6 +35,7 @@ 
 #endif
 
 #if HAVE_WINSOCK2_H
+#define WIN32_LEAN_AND_MEAN
 #include <winsock2.h>
 #include <ws2tcpip.h>
 
diff --git a/libavformat/os_support.c b/libavformat/os_support.c
index 15cea7fa5b..2de6a7c3d9 100644
--- a/libavformat/os_support.c
+++ b/libavformat/os_support.c
@@ -34,11 +34,9 @@ 
 #if HAVE_SYS_TIME_H
 #include <sys/time.h>
 #endif /* HAVE_SYS_TIME_H */
-#if HAVE_WINSOCK2_H
-#include <winsock2.h>
-#elif HAVE_SYS_SELECT_H
+#if HAVE_SYS_SELECT_H
 #include <sys/select.h>
-#endif /* HAVE_WINSOCK2_H */
+#endif /* HAVE_SYS_SELECT_H */
 #endif /* !HAVE_POLL_H */
 
 #include "network.h"
diff --git a/libavformat/os_support.h b/libavformat/os_support.h
index f2ff38e23b..5bdd275d70 100644
--- a/libavformat/os_support.h
+++ b/libavformat/os_support.h
@@ -140,6 +140,7 @@  typedef int socklen_t;
 typedef unsigned long nfds_t;
 
 #if HAVE_WINSOCK2_H
+#define WIN32_LEAN_AND_MEAN
 #include <winsock2.h>
 #endif
 #if !HAVE_STRUCT_POLLFD