[SCM] libav/experimental: applehttp: Allow the base url to be a local file name, too

siretart at users.alioth.debian.org siretart at users.alioth.debian.org
Sun Jun 30 17:16:52 UTC 2013


The following commit has been merged in the experimental branch:
commit 8f7c2452dee8d8b72a6c0898ac90c44a4a7d9809
Author: Martin Storsjö <martin at martin.st>
Date:   Sat Oct 2 21:57:58 2010 +0000

    applehttp: Allow the base url to be a local file name, too
    
    Originally committed as revision 25316 to svn://svn.ffmpeg.org/ffmpeg/trunk

diff --git a/libavformat/applehttp.c b/libavformat/applehttp.c
index 3aa7ed4..1252dc5 100644
--- a/libavformat/applehttp.c
+++ b/libavformat/applehttp.c
@@ -90,7 +90,7 @@ static void make_absolute_url(char *buf, int size, const char *base,
                               const char *rel)
 {
     char *sep;
-    if (!base || strstr(rel, "://")) {
+    if (!base || strstr(rel, "://") || rel[0] == '/') {
         av_strlcpy(buf, rel, size);
         return;
     }
@@ -99,13 +99,15 @@ static void make_absolute_url(char *buf, int size, const char *base,
     sep = strrchr(buf, '/');
     if (sep)
         sep[1] = '\0';
-    while (av_strstart(rel, "../", NULL)) {
-        if (sep) {
+    else
+        buf[0] = '\0';
+    while (av_strstart(rel, "../", NULL) && sep) {
             sep[0] = '\0';
             sep = strrchr(buf, '/');
             if (sep)
                 sep[1] = '\0';
-        }
+            else
+                buf[0] = '\0';
         rel += 3;
     }
     av_strlcat(buf, rel, size);

-- 
Libav/FFmpeg packaging



More information about the pkg-multimedia-commits mailing list