summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRonald S. Bultje <rsbultje@gmail.com>2010-02-08 18:48:12 +0000
committerRonald S. Bultje <rsbultje@gmail.com>2010-02-08 18:48:12 +0000
commit04a2b04b9841b8b9e3726c522829a8da38f4ad8d (patch)
tree4ea35a1a0363a7d142f000001188b2c79b3f1b4f
parent1be49ce54b7ce9ffe8ce514d7c05df6a88f31261 (diff)
Implement gai_strerror() for systems lacking such functionality. Patch
by KO Myung-Hun <komh challion net>. Originally committed as revision 21692 to svn://svn.ffmpeg.org/ffmpeg/trunk
-rw-r--r--libavformat/network.h2
-rw-r--r--libavformat/os_support.c11
2 files changed, 13 insertions, 0 deletions
diff --git a/libavformat/network.h b/libavformat/network.h
index 6e82f81ca8..796d44ae5f 100644
--- a/libavformat/network.h
+++ b/libavformat/network.h
@@ -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 */
diff --git a/libavformat/os_support.c b/libavformat/os_support.c
index 58215ec198..fd6af3368a 100644
--- a/libavformat/os_support.c
+++ b/libavformat/os_support.c
@@ -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 */