aboutsummaryrefslogtreecommitdiffstats
path: root/Library
diff options
context:
space:
mode:
Diffstat (limited to 'Library')
-rw-r--r--Library/Homebrew/download_strategy.rb18
1 files changed, 6 insertions, 12 deletions
diff --git a/Library/Homebrew/download_strategy.rb b/Library/Homebrew/download_strategy.rb
index 859e09d40..06d37de66 100644
--- a/Library/Homebrew/download_strategy.rb
+++ b/Library/Homebrew/download_strategy.rb
@@ -203,18 +203,12 @@ class CurlDownloadStrategy < AbstractDownloadStrategy
end
def ext
- # GitHub uses odd URLs for zip files, so check for those
- rx=%r[https?://(www\.)?github\.com/.*/(zip|tar)ball/]
- if rx.match @url
- if $2 == 'zip'
- '.zip'
- else
- '.tgz'
- end
- else
- # Strip any ?thing=wad out of .c?thing=wad style extensions
- (Pathname.new(@url).extname)[/[^?]+/]
- end
+ # We need a Pathname because we've monkeypatched extname to support double
+ # extensions (e.g. tar.gz).
+ # We can't use basename_without_params, because given a URL like
+ # http://example.com/download.php?file=foo-1.0.tar.gz
+ # the extension we want is ".tar.gz", not ".php".
+ Pathname.new(@url).extname[/[^?]+/]
end
end