From e4371807f6eb9ee6d0cc7828773e792fbecb5ce5 Mon Sep 17 00:00:00 2001 From: Micah Cowan Date: Tue, 22 Jul 2008 13:33:42 -0700 Subject: [PATCH] stsc: -i URL improvements. --- doc/ChangeLog | 7 +++++++ doc/wget.texi | 5 +++++ src/ChangeLog | 9 +++++++++ src/init.c | 2 ++ src/retr.c | 10 +++++++++- 5 files changed, 32 insertions(+), 1 deletion(-) diff --git a/doc/ChangeLog b/doc/ChangeLog index 94d72443..4f68780e 100644 --- a/doc/ChangeLog +++ b/doc/ChangeLog @@ -1,3 +1,10 @@ +2008-07-17 Steven Schubiger + + * wget.texi (Logging and Input File Options): Document + for --input-file and according remote input file URLs, the + implicit enforcement of treating a document as HTML and + the possible baseref assumption. + 2008-06-29 Micah Cowan * wget.texi : Added Joao Ferreira, Mike Frysinger, diff --git a/doc/wget.texi b/doc/wget.texi index 50ee459e..6f88e19a 100644 --- a/doc/wget.texi +++ b/doc/wget.texi @@ -497,6 +497,11 @@ relative links, which you can solve either by adding @code{} to the documents or by specifying @samp{--base=@var{url}} on the command line. +If the @var{file} is an external one, the document will be automatically +treated as @samp{html} if the Content-Type matches @samp{text/html}. +Furthermore, the @var{file}'s location will be implicitly used as base +href if none was specified. + @cindex force html @item -F @itemx --force-html diff --git a/src/ChangeLog b/src/ChangeLog index e551f1c9..3e08d0d8 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,12 @@ +2008-07-17 Steven Schubiger + + * retr.c (retrieve_from_file): When given an URL as input file, + use it as baseref if none was specified and treat the input file + as HTML if its content type is text/html. + + * init.c (cleanup): Free the memory associated with the base + option (when DEBUG_MALLOC is defined). + 2008-06-28 Steven Schubiger * retr.c (retrieve_from_file): Allow for reading the links from diff --git a/src/init.c b/src/init.c index a634fa79..d4fc10e3 100644 --- a/src/init.c +++ b/src/init.c @@ -1548,6 +1548,8 @@ cleanup (void) xfree_null (opt.cookies_output); xfree_null (opt.user); xfree_null (opt.passwd); + xfree_null (opt.base_href); + #endif /* DEBUG_MALLOC */ } diff --git a/src/retr.c b/src/retr.c index 58e00d2f..0fc46837 100644 --- a/src/retr.c +++ b/src/retr.c @@ -830,10 +830,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); + + if (!opt.base_href) + opt.base_href = xstrdup (url); + + status = retrieve_url (url, &input_file, NULL, NULL, &dt, false); if (status != RETROK) return status; + + if (dt & TEXTHTML) + html = true; } else input_file = (char *) file; -- 2.39.2