[FFmpeg-cvslog] r22329 - in trunk: ffserver.c libavformat/avformat.h libavformat/os_support.c

mru subversion
Mon Mar 8 19:43:27 CET 2010


Author: mru
Date: Mon Mar  8 19:43:27 2010
New Revision: 22329

Log:
Move resolve_host() to ffserver.c

This deprecated function is only used by ffserver, yet does not have
a prototype visible there.

In the long term, ffserver should be made IPv6-aware.  In the meantime,
this change removes cruft from lavf and fixes some warnings in ffserver.

Modified:
   trunk/ffserver.c
   trunk/libavformat/avformat.h
   trunk/libavformat/os_support.c

Modified: trunk/ffserver.c
==============================================================================
--- trunk/ffserver.c	Mon Mar  8 18:00:21 2010	(r22328)
+++ trunk/ffserver.c	Mon Mar  8 19:43:27 2010	(r22329)
@@ -312,6 +312,42 @@ static AVLFG random_state;
 
 static FILE *logfile = NULL;
 
+/* FIXME: make ffserver work with IPv6 */
+/* resolve host with also IP address parsing */
+static int resolve_host(struct in_addr *sin_addr, const char *hostname)
+{
+
+    if (!ff_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;
+}
+
 static char *ctime1(char *buf2)
 {
     time_t ti;

Modified: trunk/libavformat/avformat.h
==============================================================================
--- trunk/libavformat/avformat.h	Mon Mar  8 18:00:21 2010	(r22328)
+++ trunk/libavformat/avformat.h	Mon Mar  8 19:43:27 2010	(r22329)
@@ -1339,10 +1339,6 @@ struct tm *brktimegm(time_t secs, struct
 const char *small_strptime(const char *p, const char *fmt,
                            struct tm *dt);
 
-struct in_addr;
-/* Deprecated, use getaddrinfo instead. */
-attribute_deprecated int resolve_host(struct in_addr *sin_addr, const char *hostname);
-
 /**
  * Splits a URL string into components. To reassemble components back into
  * a URL, use ff_url_join instead of using snprintf directly.

Modified: trunk/libavformat/os_support.c
==============================================================================
--- trunk/libavformat/os_support.c	Mon Mar  8 18:00:21 2010	(r22328)
+++ trunk/libavformat/os_support.c	Mon Mar  8 19:43:27 2010	(r22329)
@@ -223,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 (!ff_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



More information about the ffmpeg-cvslog mailing list