X-Git-Url: http://sjero.net/git/?p=wget;a=blobdiff_plain;f=src%2Fres.c;h=20ffe1c8de45947b1d8cd9c262823151703b6bcd;hp=8c35f0e1cfae726a877e23e12b4ac44256d940ff;hb=ea3745e8dc2f63cc26557f111f77374dc63e5976;hpb=857224758e60c6b206015ea4b9b30c79332a5b4c diff --git a/src/res.c b/src/res.c index 8c35f0e1..20ffe1c8 100644 --- a/src/res.c +++ b/src/res.c @@ -537,13 +537,29 @@ res_retrieve_file (const char *url, char **file) uerr_t err; char *robots_url = uri_merge (url, RES_SPECS_LOCATION); int saved_ts_val = opt.timestamping; - int saved_sp_val = opt.spider; + int saved_sp_val = opt.spider, url_err; + struct url * url_parsed; logputs (LOG_VERBOSE, _("Loading robots.txt; please ignore errors.\n")); *file = NULL; opt.timestamping = false; opt.spider = false; - err = retrieve_url (robots_url, file, NULL, NULL, NULL, false); + + url_parsed = url_parse (robots_url, &url_err); + if (!url_parsed) + { + char *error = url_error (robots_url, url_err); + logprintf (LOG_NOTQUIET, "%s: %s.\n", robots_url, error); + xfree (error); + err = URLERROR; + } + else + { + err = retrieve_url (url_parsed, robots_url, file, NULL, NULL, NULL, + false); + url_free(url_parsed); + } + opt.timestamping = saved_ts_val; opt.spider = saved_sp_val; xfree (robots_url);