Mercurial > libavformat.hg
diff os_support.c @ 2050:612d19cb9550 libavformat
move resolve_host from tcp.c to os_support.c as it is used widely
author | alex |
---|---|
date | Thu, 26 Apr 2007 18:04:42 +0000 |
parents | 9a8908eaa2ea |
children | 3d04317ab396 |
line wrap: on
line diff
--- a/os_support.c Thu Apr 26 18:00:28 2007 +0000 +++ b/os_support.c Thu Apr 26 18:04:42 2007 +0000 @@ -71,10 +71,12 @@ } #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 @@ 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