[FFmpeg-cvslog] r10775 - trunk/libavformat/utils.c

benoit subversion
Thu Oct 18 11:50:54 CEST 2007


Author: benoit
Date: Thu Oct 18 11:50:53 2007
New Revision: 10775

Log:
Make url_split() strip url options (?opt=var) from the returned hostname or
location. This fixes a regression introduced by the rewrite of
url_split() in r10605.

Patch by Ronald S. Bultje: rsbultje gmail com
Original thread: [FFmpeg-devel] [PATCH] Make RTP work with IPv6 enabled
Date: 10/12/2007 08:19 PM


Modified:
   trunk/libavformat/utils.c

Modified: trunk/libavformat/utils.c
==============================================================================
--- trunk/libavformat/utils.c	(original)
+++ trunk/libavformat/utils.c	Thu Oct 18 11:50:53 2007
@@ -2875,7 +2875,7 @@ void url_split(char *proto, int proto_si
                char *path, int path_size,
                const char *url)
 {
-    const char *p, *ls, *at, *col, *brk;
+    const char *p, *ls, *at, *col, *brk, *q;
 
     if (port_ptr)               *port_ptr = -1;
     if (proto_size > 0)         proto[0] = 0;
@@ -2896,9 +2896,12 @@ void url_split(char *proto, int proto_si
     }
 
     /* separate path from hostname */
-    if ((ls = strchr(p, '/')))
-        av_strlcpy(path, ls, path_size);
-    else
+    if ((ls = strchr(p, '/'))) {
+        if ((q = strchr(ls, '?')))
+            av_strlcpy(path, ls, FFMIN(path_size, q - ls + 1));
+        else
+            av_strlcpy(path, ls, path_size);
+    } else if (!(ls = strchr(p, '?')))
         ls = &p[strlen(p)]; // XXX
 
     /* the rest is hostname, use that to parse auth/port */




More information about the ffmpeg-cvslog mailing list