This is the mail archive of the
cygwin-apps
mailing list for the Cygwin project.
Double-slashes in URLs
- From: Michael Bisbjerg <michael at mbwarez dot dk>
- To: cygwin-apps at cygwin dot com
- Date: Thu, 17 Sep 2015 17:18:48 +0200
- Subject: Double-slashes in URLs
- Authentication-results: sourceware.org; auth=none
I noticed once I set up a mirror of my own, that Cygwin Setup will
prepend all it's URL's with a double-slash. This does not seem to be
intentional, and I found the place in the sources where I believe the
error to be.
On line 160 of "download.cc", we see that the "n->key" is the source
of the repository, including a "/", as it is used as the name of the
local cache, which always has a "%2f" in its name. That key is then
used on line 165 in "get_url_to_file", where it is concatenated with
another slash and "pkgsource.Canonical" to make the final URL.
My (untested) patch removes this slash, so that the resulting URL's
will be with a single slash.
------ PATCH -----
diff --git a/download.cc b/download.cc
index a5aebe0..e319ed4 100644
--- a/download.cc
+++ b/download.cc
@@ -162,7 +162,7 @@ download_one (packagesource & pkgsource, HWND owner)
pkgsource.Canonical ();
io_stream::mkpath_p (PATH_TO_FILE, "file://" + local, 0);
- if (get_url_to_file(n->key + "/" + pkgsource.Canonical (),
+ if (get_url_to_file(n->key + pkgsource.Canonical (),
local + ".tmp", pkgsource.size, owner))
{
/* FIXME: note new source ? */
------ PATCH -----
Regards.
Michael