diff options
author | Alex Beregszaszi <alex@rtfs.hu> | 2007-04-26 18:04:42 +0000 |
---|---|---|
committer | Alex Beregszaszi <alex@rtfs.hu> | 2007-04-26 18:04:42 +0000 |
commit | 383eda234879aad7e90fe73c52574ef7e735f85c (patch) | |
tree | fdde53ed65a31752480f2269af5c643526db3e0c /libavformat/os_support.c | |
parent | a33cc9511b968bee9a2e64644b7c17090eb4583d (diff) | |
download | ffmpeg-383eda234879aad7e90fe73c52574ef7e735f85c.tar.gz |
move resolve_host from tcp.c to os_support.c as it is used widely
Originally committed as revision 8834 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavformat/os_support.c')
-rw-r--r-- | libavformat/os_support.c | 23 |
1 files changed, 20 insertions, 3 deletions
diff --git a/libavformat/os_support.c b/libavformat/os_support.c index 5bd9e58b68..9dddab2f15 100644 --- a/libavformat/os_support.c +++ b/libavformat/os_support.c @@ -71,10 +71,12 @@ struct tm *localtime_r(const time_t *t, struct tm *tp) } #endif /* !defined(HAVE_LOCALTIME_R) */ -#if !defined(HAVE_INET_ATON) && defined(CONFIG_NETWORK) +#ifdef CONFIG_NETWORK +#include "network.h" + +#if !defined(HAVE_INET_ATON) #include <stdlib.h> #include <strings.h> -#include "network.h" int inet_aton (const char * str, struct in_addr * add) { @@ -97,7 +99,22 @@ done: return 1; } -#endif /* !defined(HAVE_INET_ATON) && defined(CONFIG_NETWORK) */ +#endif /* !defined(HAVE_INET_ATON) */ + +/* resolve host with also IP address parsing */ +int resolve_host(struct in_addr *sin_addr, const char *hostname) +{ + struct hostent *hp; + + if (!inet_aton(hostname, sin_addr)) { + hp = gethostbyname(hostname); + if (!hp) + return -1; + memcpy(sin_addr, hp->h_addr, sizeof(struct in_addr)); + } + return 0; +} +#endif /* CONFIG_NETWORK */ #ifdef CONFIG_FFSERVER #ifndef HAVE_SYS_POLL_H |