aboutsummaryrefslogblamecommitdiffstats
path: root/main/libquvi/fix-redirects.patch
blob: d6352947e1f3e3ec1e18e6b0410140a30cc3ddbb (plain) (tree)




























                                                                                   
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
     {