Browse Source

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

Originally committed as revision 10775 to svn://svn.ffmpeg.org/ffmpeg/trunk
tags/v0.5
Ronald S. Bultje Benoit Fouet 18 years ago
parent
commit
c5be140c9a
1 changed files with 7 additions and 4 deletions
  1. +7
    -4
      libavformat/utils.c

+ 7
- 4
libavformat/utils.c View File

@@ -2875,7 +2875,7 @@ void url_split(char *proto, int proto_size,
char *path, int path_size, char *path, int path_size,
const char *url) 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 (port_ptr) *port_ptr = -1;
if (proto_size > 0) proto[0] = 0; if (proto_size > 0) proto[0] = 0;
@@ -2896,9 +2896,12 @@ void url_split(char *proto, int proto_size,
} }


/* separate path from hostname */ /* 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 ls = &p[strlen(p)]; // XXX


/* the rest is hostname, use that to parse auth/port */ /* the rest is hostname, use that to parse auth/port */


Loading…
Cancel
Save