X-Git-Url: http://sjero.net/git/?a=blobdiff_plain;f=src%2Fretr.c;h=fe176eafcfad22b5d539d2d82516c31d62d2b499;hb=84395897ad2d1c107be470946daba744b2e7ebe8;hp=e70f6e6e5433e02a88d1024e270e9347bbcad909;hpb=d82f80ecab9bfef857d780f894cca7e890780ce0;p=wget diff --git a/src/retr.c b/src/retr.c index e70f6e6e..fe176eaf 100644 --- a/src/retr.c +++ b/src/retr.c @@ -51,7 +51,6 @@ as that of the covered work. */ #include "hash.h" #include "convert.h" #include "ptimer.h" -#include "iri.h" #include "html-url.h" /* Total size of downloaded files. Used to enforce quota. */ @@ -635,7 +634,9 @@ retrieve_url (const char *origurl, char **file, char **newloc, return URLERROR; } - printf ("[Retrieving %s with %s (UTF-8=%d)\n", url, iri->uri_encoding, iri->utf8_encode); + DEBUGP (("[IRI Retrieving %s with %s (UTF-8=%d)\n", quote (url), + iri->uri_encoding ? quote (iri->uri_encoding) : "None", + iri->utf8_encode)); if (!refurl) refurl = opt.referer; @@ -652,7 +653,7 @@ retrieve_url (const char *origurl, char **file, char **newloc, { /* sXXXav : could a proxy include a path ??? */ struct iri *pi = iri_new (); - set_uri_encoding (pi, opt.locale); + set_uri_encoding (pi, opt.locale, true); pi->utf8_encode = false; /* Parse the proxy URL. */ @@ -788,7 +789,7 @@ retrieve_url (const char *origurl, char **file, char **newloc, if (!(*dt & RETROKF) && iri->utf8_encode) { iri->utf8_encode = false; - printf ("[Fallbacking to non-utf8 for `%s'\n", url); + DEBUGP (("[IRI Fallbacking to non-utf8 for %s\n", quote (url))); goto second_try; } @@ -861,10 +862,18 @@ retrieve_from_file (const char *file, bool html, int *count) if (url_has_scheme (url)) { + int dt; uerr_t status; - status = retrieve_url (url, &input_file, NULL, NULL, NULL, false, iri); + + if (!opt.base_href) + opt.base_href = xstrdup (url); + + status = retrieve_url (url, &input_file, NULL, NULL, &dt, false, iri); if (status != RETROK) return status; + + if (dt & TEXTHTML) + html = true; } else input_file = (char *) file; @@ -1074,7 +1083,7 @@ url_uses_proxy (const char *url) struct url *u; struct iri *i = iri_new(); /* url was given in the command line, so use locale as encoding */ - set_uri_encoding (i, opt.locale); + set_uri_encoding (i, opt.locale, true); u= url_parse (url, NULL, i); if (!u) return false;