/* Conversion of links to local files.
- Copyright (C) 2003, 2004, 2005, 2006, 2007,
- 2008, 2009 Free Software Foundation, Inc.
+ Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free
+ Software Foundation, Inc.
This file is part of GNU Wget.
#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;
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)
{
/* 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. */
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. */
}
}
- fm = read_file (file);
+ fm = wget_read_file (file);
if (!fm)
{
logprintf (LOG_NOTQUIET, _("Cannot convert links in %s: %s\n"),
{
logprintf (LOG_NOTQUIET, _("Unable to delete %s: %s\n"),
quote (file), strerror (errno));
- read_file_free (fm);
+ wget_read_file_free (fm);
return;
}
/* Now open the file for writing. */
{
logprintf (LOG_NOTQUIET, _("Cannot convert links in %s: %s\n"),
file, strerror (errno));
- read_file_free (fm);
+ wget_read_file_free (fm);
return;
}
if (p - fm->content < fm->length)
fwrite (p, 1, fm->length - (p - fm->content), fp);
fclose (fp);
- read_file_free (fm);
+ wget_read_file_free (fm);
logprintf (LOG_VERBOSE, "%d-%d\n", to_file_count, to_url_count);
}