This is useful if a proper getaddrinfo is loaded dynamically on
windows, while using the fallback implementation of gai_strerror.
---
 libavformat/network.h    |   20 ++++++++++++++++++--
 libavformat/os_support.c |    8 ++++++++
 2 files changed, 26 insertions(+), 2 deletions(-)

diff --git a/libavformat/network.h b/libavformat/network.h
index 303a8bb..57e128f 100644
--- a/libavformat/network.h
+++ b/libavformat/network.h
@@ -109,17 +109,33 @@ struct addrinfo {
 #endif
 
 /* getaddrinfo constants */
+#ifndef EAI_AGAIN
+#define EAI_AGAIN 2
+#endif
+#ifndef EAI_BADFLAGS
+#define EAI_BADFLAGS 3
+#endif
 #ifndef EAI_FAIL
 #define EAI_FAIL 4
 #endif
-
 #ifndef EAI_FAMILY
 #define EAI_FAMILY 5
 #endif
-
+#ifndef EAI_MEMORY
+#define EAI_MEMORY 6
+#endif
+#ifndef EAI_NODATA
+#define EAI_NODATA 7
+#endif
 #ifndef EAI_NONAME
 #define EAI_NONAME 8
 #endif
+#ifndef EAI_SERVICE
+#define EAI_SERVICE 9
+#endif
+#ifndef EAI_SOCKTYPE
+#define EAI_SOCKTYPE 10
+#endif
 
 #ifndef AI_PASSIVE
 #define AI_PASSIVE 1
diff --git a/libavformat/os_support.c b/libavformat/os_support.c
index 0eaea5c..c07e540 100644
--- a/libavformat/os_support.c
+++ b/libavformat/os_support.c
@@ -241,9 +241,17 @@ int ff_getnameinfo(const struct sockaddr *sa, int salen,
 const char *ff_gai_strerror(int ecode)
 {
     switch(ecode) {
+    case EAI_AGAIN  : return "Temporary failure in name resolution";
+    case EAI_BADFLAGS: return "Invalid flags for ai_flags";
     case EAI_FAIL   : return "A non-recoverable error occurred";
     case EAI_FAMILY : return "The address family was not recognized or the 
address length was invalid for the specified family";
+    case EAI_MEMORY : return "Memory allocation failure";
+#if EAI_NODATA != EAI_NONAME
+    case EAI_NODATA : return "No address associated with hostname";
+#endif
     case EAI_NONAME : return "The name does not resolve for the supplied 
parameters";
+    case EAI_SERVICE: return "servname not supported for ai_socktype";
+    case EAI_SOCKTYPE: return "ai_socktype not supported";
     }
 
     return "Unknown error";
-- 
1.7.9.4

_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to