[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Bug-wget] Wget skips converting links to relative if they contain s
From: |
David |
Subject: |
Re: [Bug-wget] Wget skips converting links to relative if they contain spaces |
Date: |
Tue, 24 Aug 2010 09:12:31 +1000 |
Thanks very much for that. Happy to help test once the patch is applied.
Cheers,
David
On Fri, Aug 20, 2010 at 11:12 AM, Giuseppe Scrivano <address@hidden>wrote:
> Hello,
>
>
> David <address@hidden> 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. */
>
>