Skip to content
Snippets Groups Projects
fix-redirects.patch 1.05 KiB
Do not use Effective URL if no redirections happened. This fixes to not
drop 'fragment' part of the URL that some services need to identify the
media to play.

diff -ru libquvi-0.9.4.orig/src/curl/resolve.c libquvi-0.9.4/src/curl/resolve.c
--- libquvi-0.9.4.orig/src/curl/resolve.c	2013-11-04 14:55:25.000000000 -0200
+++ libquvi-0.9.4/src/curl/resolve.c	2014-10-20 16:36:38.493630381 -0300
@@ -61,10 +61,17 @@
 
   if (curlcode == CURLE_OK && r->status.resp_code == 200)
     {
-      gchar *u = NULL;
-      curl_easy_getinfo(c, CURLINFO_EFFECTIVE_URL, &u);
-      /* Leave comparison for resolve_redirections.lua */
-      g_string_assign(r->url.dst, u);
+      long count = 0;
+      curl_easy_getinfo(c, CURLINFO_REDIRECT_COUNT, &count);
+      if (count > 0)
+        {
+          gchar *u = NULL;
+          curl_easy_getinfo(c, CURLINFO_EFFECTIVE_URL, &u);
+          /* Leave comparison for resolve_redirections.lua */
+          g_string_assign(r->url.dst, u);
+        }
+      else
+        g_string_assign(r->url.dst, r->url.addr->str); 
     }
   else
     {