aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/luarocks/dir.lua10
-rw-r--r--src/luarocks/search.lua1
2 files changed, 10 insertions, 1 deletions
diff --git a/src/luarocks/dir.lua b/src/luarocks/dir.lua
index 3c7465bb..e8cd746e 100644
--- a/src/luarocks/dir.lua
+++ b/src/luarocks/dir.lua
@@ -64,6 +64,14 @@ function split_url(url)
64 return protocol, pathname 64 return protocol, pathname
65end 65end
66 66
67--- Normalize a url or local path.
68-- URLs should be in the "protocol://path" format. System independent
69-- forward slashes are used, removing trailing and double slashes
70-- @param url string: an URL or a local pathname.
71-- @return string: Normalized result.
67function normalize(name) 72function normalize(name)
68 return name:gsub("\\", "/"):gsub("(.)/*$", "%1") 73 local protocol, pathname = split_url(name)
74 pathname = pathname:gsub("\\", "/"):gsub("(.)/*$", "%1"):gsub("//", "/")
75 if protocol ~= "file" then pathname = protocol .."://"..pathname end
76 return pathname
69end 77end
diff --git a/src/luarocks/search.lua b/src/luarocks/search.lua
index 356e06e8..76ea6815 100644
--- a/src/luarocks/search.lua
+++ b/src/luarocks/search.lua
@@ -305,6 +305,7 @@ function print_results(results, porcelain)
305 end 305 end
306 for version, repos in util.sortedpairs(versions, deps.compare_versions) do 306 for version, repos in util.sortedpairs(versions, deps.compare_versions) do
307 for _, repo in ipairs(repos) do 307 for _, repo in ipairs(repos) do
308 repo.repo = dir.normalize(repo.repo)
308 if porcelain then 309 if porcelain then
309 util.printout(package, version, repo.arch, repo.repo) 310 util.printout(package, version, repo.arch, repo.repo)
310 else 311 else