/* TODO: perform this check only once. */
if (!hs->existence_checked && file_exists_p (hs->local_file))
{
- if (opt.noclobber)
+ if (opt.noclobber && !opt.output_document)
{
/* If opt.noclobber is turned on and file already exists, do not
- retrieve the file */
+ retrieve the file. But if the output_document was given, then this
+ test was already done and the file didn't exist. Hence the !opt.output_document */
logprintf (LOG_VERBOSE, _("\
File %s already there; not retrieving.\n\n"), quote (hs->local_file));
/* If the file is there, we suppose it's retrieved OK. */
char *tmp = strchr (type, ';');
if (tmp)
{
+#ifdef ENABLE_IRI
+ char *tmp2 = tmp + 1;
+#endif
+
while (tmp > type && c_isspace (tmp[-1]))
--tmp;
*tmp = '\0';
+
+#ifdef ENABLE_IRI
+ if (opt.enable_iri && *tmp2 != '\0' &&
+ (tmp = strstr (tmp2, "charset=")) != NULL)
+ {
+ tmp += 8;
+ tmp2 = tmp;
+
+ while (*tmp2 && !c_isspace (*tmp2))
+ tmp2++;
+
+ if (tmp2 > tmp)
+ {
+ *tmp2 = '\0';
+ /* sXXXav : check given charset */
+ logprintf (LOG_VERBOSE, "HTTP charset: `%s'\n", tmp);
+ }
+ }
+#endif
}
}
hs->newloc = resp_header_strdup (resp, "Location");
/* TODO: Ick! This code is now in both gethttp and http_loop, and is
* screaming for some refactoring. */
- if (got_name && file_exists_p (hstat.local_file) && opt.noclobber)
+ if (got_name && file_exists_p (hstat.local_file) && opt.noclobber && !opt.output_document)
{
/* If opt.noclobber is turned on and file already exists, do not
- retrieve the file */
+ retrieve the file. But if the output_document was given, then this
+ test was already done and the file didn't exist. Hence the !opt.output_document */
logprintf (LOG_VERBOSE, _("\
File %s already there; not retrieving.\n\n"),
quote (hstat.local_file));