]> git.sesse.net Git - ffmpeg/blobdiff - libavformat/os_support.c
Associate .tga with format image2.
[ffmpeg] / libavformat / os_support.c
index 4bf2e268cf03e3197ca7312aa525fe18ed94df3e..83f0820662f71630b224cd3a4be20e3bf2427819 100644 (file)
 
 /* needed by inet_aton() */
 #define _SVID_SOURCE
+#define _DARWIN_C_SOURCE
 
 #include "config.h"
 #include "avformat.h"
-#include <unistd.h>
-#include <fcntl.h>
-#include <sys/time.h>
 #include "os_support.h"
 
 #if CONFIG_NETWORK
+#include <fcntl.h>
+#include <unistd.h>
 #if !HAVE_POLL_H
+#include <sys/time.h>
 #if HAVE_WINSOCK2_H
 #include <winsock2.h>
 #elif HAVE_SYS_SELECT_H
@@ -45,7 +46,7 @@
 #include <stdlib.h>
 #include <strings.h>
 
-int inet_aton (const char * str, struct in_addr * add)
+int ff_inet_aton (const char * str, struct in_addr * add)
 {
     unsigned int add1 = 0, add2 = 0, add3 = 0, add4 = 0;
 
@@ -58,6 +59,11 @@ int inet_aton (const char * str, struct in_addr * add)
 
     return 1;
 }
+#else
+int ff_inet_aton (const char * str, struct in_addr * add)
+{
+    return inet_aton(str, add);
+}
 #endif /* !HAVE_INET_ATON */
 
 #if !HAVE_GETADDRINFO
@@ -85,7 +91,7 @@ int ff_getaddrinfo(const char *node, const char *service,
     sin->sin_family = AF_INET;
 
     if (node) {
-        if (!inet_aton(node, &sin->sin_addr)) {
+        if (!ff_inet_aton(node, &sin->sin_addr)) {
             if (hints && (hints->ai_flags & AI_NUMERICHOST)) {
                 av_free(sin);
                 return EAI_FAIL;
@@ -217,41 +223,6 @@ const char *ff_gai_strerror(int ecode)
 }
 #endif
 
-/* resolve host with also IP address parsing */
-int resolve_host(struct in_addr *sin_addr, const char *hostname)
-{
-
-    if (!inet_aton(hostname, sin_addr)) {
-#if HAVE_GETADDRINFO
-        struct addrinfo *ai, *cur;
-        struct addrinfo hints;
-        memset(&hints, 0, sizeof(hints));
-        hints.ai_family = AF_INET;
-        if (getaddrinfo(hostname, NULL, &hints, &ai))
-            return -1;
-        /* getaddrinfo returns a linked list of addrinfo structs.
-         * Even if we set ai_family = AF_INET above, make sure
-         * that the returned one actually is of the correct type. */
-        for (cur = ai; cur; cur = cur->ai_next) {
-            if (cur->ai_family == AF_INET) {
-                *sin_addr = ((struct sockaddr_in *)cur->ai_addr)->sin_addr;
-                freeaddrinfo(ai);
-                return 0;
-            }
-        }
-        freeaddrinfo(ai);
-        return -1;
-#else
-        struct hostent *hp;
-        hp = gethostbyname(hostname);
-        if (!hp)
-            return -1;
-        memcpy(sin_addr, hp->h_addr_list[0], sizeof(struct in_addr));
-#endif
-    }
-    return 0;
-}
-
 int ff_socket_nonblock(int socket, int enable)
 {
 #if HAVE_WINSOCK2_H