diff options
author | Martin Storsjö <martin@martin.st> | 2012-06-25 12:50:13 +0300 |
---|---|---|
committer | Martin Storsjö <martin@martin.st> | 2012-07-15 21:41:38 +0300 |
commit | 9e4b04f8b9bce79adeb6f7784619a93d5682d509 (patch) | |
tree | 5a06bf539b149d77072ef5b7691460c7f169e4bb /libavformat | |
parent | c98e2053f54483525c1098117b7443c522e0ede5 (diff) | |
download | ffmpeg-streaming-9e4b04f8b9bce79adeb6f7784619a93d5682d509.zip ffmpeg-streaming-9e4b04f8b9bce79adeb6f7784619a93d5682d509.tar.gz |
network: Always use our version of gai_strerror on windows
Even if linking directly to getaddrinfo, use our version of
gai_strerror instead of the system's version. Microsoft explicitly
documents that their version of gai_strerror is thread-unsafe.
Signed-off-by: Martin Storsjö <martin@martin.st>
Diffstat (limited to 'libavformat')
-rw-r--r-- | libavformat/network.h | 4 | ||||
-rw-r--r-- | libavformat/os_support.c | 4 |
2 files changed, 6 insertions, 2 deletions
diff --git a/libavformat/network.h b/libavformat/network.h index 271f745..19c5a92 100644 --- a/libavformat/network.h +++ b/libavformat/network.h @@ -177,10 +177,12 @@ void ff_freeaddrinfo(struct addrinfo *res); int ff_getnameinfo(const struct sockaddr *sa, int salen, char *host, int hostlen, char *serv, int servlen, int flags); -const char *ff_gai_strerror(int ecode); #define getaddrinfo ff_getaddrinfo #define freeaddrinfo ff_freeaddrinfo #define getnameinfo ff_getnameinfo +#endif +#if !HAVE_GETADDRINFO || HAVE_WINSOCK2_H +const char *ff_gai_strerror(int ecode); #undef gai_strerror #define gai_strerror ff_gai_strerror #endif diff --git a/libavformat/os_support.c b/libavformat/os_support.c index 76204e0..9992a63 100644 --- a/libavformat/os_support.c +++ b/libavformat/os_support.c @@ -239,7 +239,9 @@ int ff_getnameinfo(const struct sockaddr *sa, int salen, return 0; } +#endif /* !HAVE_GETADDRINFO */ +#if !HAVE_GETADDRINFO || HAVE_WINSOCK2_H const char *ff_gai_strerror(int ecode) { switch(ecode) { @@ -258,7 +260,7 @@ const char *ff_gai_strerror(int ecode) return "Unknown error"; } -#endif +#endif /* !HAVE_GETADDRINFO || HAVE_WINSOCK2_H */ int ff_socket_nonblock(int socket, int enable) { |