Implement gai_strerror() for systems lacking such functionality. Patch
authorRonald S. Bultje <rsbultje@gmail.com>
Mon, 8 Feb 2010 18:48:12 +0000 (18:48 +0000)
committerRonald S. Bultje <rsbultje@gmail.com>
Mon, 8 Feb 2010 18:48:12 +0000 (18:48 +0000)
by KO Myung-Hun <komh challion net>.

Originally committed as revision 21692 to svn://svn.ffmpeg.org/ffmpeg/trunk

libavformat/network.h
libavformat/os_support.c

index 6e82f81..796d44a 100644 (file)
@@ -147,9 +147,11 @@ 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
+#define gai_strerror ff_gai_strerror
 #endif
 
 #endif /* AVFORMAT_NETWORK_H */
index 58215ec..fd6af33 100644 (file)
@@ -203,6 +203,17 @@ int ff_getnameinfo(const struct sockaddr *sa, int salen,
 
     return 0;
 }
+
+const char *ff_gai_strerror(int ecode)
+{
+    switch(ecode) {
+    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_NONAME : return "The name does not resolve for the supplied parameters";
+    }
+
+    return "Unknown error";
+}
 #endif
 
 /* resolve host with also IP address parsing */