Ver Fonte

Allow redirects: set CURLOPT_FOLLOWLOCATION to 1

Enable file(DOWNLOAD ...) to follow redirects. Thanks to
Michael Wild for requesting the addition and providing
the majority of the patch.
David Cole há 15 anos atrás
pai
commit
ef491f7821
1 ficheiros alterados com 9 adições e 0 exclusões
  1. 9 0
      Source/cmFileCommand.cxx

+ 9 - 0
Source/cmFileCommand.cxx

@@ -2763,6 +2763,15 @@ cmFileCommand::HandleDownloadCommand(std::vector<std::string>
     return false;
     }
 
+  res = ::curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, 1L);
+  if (res != CURLE_OK)
+    {
+    std::string errstring = "FILE(DOWNLOAD ) error; cannot set follow-redirect option: ";
+    errstring += ::curl_easy_strerror(res);
+    this->SetError(errstring.c_str());
+    return false;
+    }
+
   if(verboseLog.size())
     {
     res = ::curl_easy_setopt(curl, CURLOPT_VERBOSE, 1);