Hello,
David <sk.ran...@gmail.com> writes: > Hi all, > > I'm having issues with Wget 1.12 (on Ubuntu 10.04, 32 bit) and Wget > skipping converting links with spaces in them. Wget downloads the > linked files fine if they have spaces in the filenames, but skips > converting the link to relative when the --convert-links (-k) option > is enabled. All other similar links work fine; the only difference I > can see is the presence of the space character. > > Running wget like: wget -p -np -k --debug > http://mysite.org.au/sponsors/ produces this snippet of relevant > information about the skipped conversion: Thanks for your report, I am going to apply this patch, it should fix the problem. Cheers, Giuseppe === modified file 'src/convert.c' --- src/convert.c 2010-07-09 10:24:51 +0000 +++ src/convert.c 2010-08-20 00:58:31 +0000 @@ -47,6 +47,7 @@ #include "res.h" #include "html-url.h" #include "css-url.h" +#include "iri.h" static struct hash_table *dl_file_url_map; struct hash_table *dl_url_file_map; @@ -105,7 +106,8 @@ for (cur_url = urls; cur_url; cur_url = cur_url->next) { char *local_name; - struct url *u = cur_url->url; + struct url *u; + struct iri *pi; if (cur_url->link_base_p) { @@ -119,6 +121,11 @@ /* We decide the direction of conversion according to whether a URL was downloaded. Downloaded URLs will be converted ABS2REL, whereas non-downloaded will be converted REL2ABS. */ + + pi = iri_new (); + set_uri_encoding (pi, opt.locale, true); + + u = url_parse (cur_url->url->url, NULL, pi, true); local_name = hash_table_get (dl_url_file_map, u->url); /* Decide on the conversion type. */ @@ -144,6 +151,9 @@ cur_url->local_name = NULL; DEBUGP (("will convert url %s to complete\n", u->url)); } + + url_free (u); + iri_free (pi); } /* Convert the links in the file. */