From 185a155e5701cfaa0281bf91a5a140d498aa0a7f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Storsj=C3=B6?= Date: Fri, 4 Feb 2011 11:09:48 +0200 Subject: [PATCH] applehttp: Handle absolute paths relative to the current server This fixes roundup issue 2583. Signed-off-by: Ronald S. Bultje --- libavformat/applehttp.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/libavformat/applehttp.c b/libavformat/applehttp.c index 50466faf82..37a040cf34 100644 --- a/libavformat/applehttp.c +++ b/libavformat/applehttp.c @@ -90,6 +90,20 @@ static void make_absolute_url(char *buf, int size, const char *base, const char *rel) { char *sep; + /* Absolute path, relative to the current server */ + if (base && strstr(base, "://") && rel[0] == '/') { + if (base != buf) + av_strlcpy(buf, base, size); + sep = strstr(buf, "://"); + if (sep) { + sep += 3; + sep = strchr(sep, '/'); + if (sep) + *sep = '\0'; + } + av_strlcat(buf, rel, size); + return; + } /* If rel actually is an absolute url, just copy it */ if (!base || strstr(rel, "://") || rel[0] == '/') { av_strlcpy(buf, rel, size);