"wget -nc -O file URL" now checks if "file" exists first. If it does, it terminates.
if (!con->target)
con->target = url_file_name (u);
if (!con->target)
con->target = url_file_name (u);
- if (opt.noclobber && file_exists_p (con->target))
+ /* If the output_document was given, then this check was already done and
+ the file doesn't exist. Hence the !opt.output_document */
+ if (opt.noclobber && !opt.output_document && file_exists_p (con->target))
{
logprintf (LOG_VERBOSE,
_("File `%s' already there; not retrieving.\n"), con->target);
{
logprintf (LOG_VERBOSE,
_("File `%s' already there; not retrieving.\n"), con->target);
/* TODO: perform this check only once. */
if (!hs->existence_checked && file_exists_p (hs->local_file))
{
/* TODO: perform this check only once. */
if (!hs->existence_checked && file_exists_p (hs->local_file))
{
+ if (opt.noclobber && !opt.output_document)
{
/* If opt.noclobber is turned on and file already exists, do not
{
/* If opt.noclobber is turned on and file already exists, do not
+ retrieve the file. But if the output_document was given, then this
+ test was already done and the file doesn't exist. Hence the !opt.output_document */
logprintf (LOG_VERBOSE, _("\
File `%s' already there; not retrieving.\n\n"), hs->local_file);
/* If the file is there, we suppose it's retrieved OK. */
logprintf (LOG_VERBOSE, _("\
File `%s' already there; not retrieving.\n\n"), hs->local_file);
/* If the file is there, we suppose it's retrieved OK. */
/* TODO: Ick! This code is now in both gethttp and http_loop, and is
* screaming for some refactoring. */
/* 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
{
/* If opt.noclobber is turned on and file already exists, do not
+ retrieve the file. But if the output_document was given, then this
+ test was already done and the file doesn't exist. Hence the !opt.output_document */
logprintf (LOG_VERBOSE, _("\
File `%s' already there; not retrieving.\n\n"),
hstat.local_file);
logprintf (LOG_VERBOSE, _("\
File `%s' already there; not retrieving.\n\n"),
hstat.local_file);
for details.\n\n"));
opt.timestamping = false;
}
for details.\n\n"));
opt.timestamping = false;
}
+ if (opt.noclobber && file_exists_p(opt.output_document))
+ {
+ /* Check if output file exists; if it does, exit. */
+ logprintf (LOG_VERBOSE, _("File `%s' already there; not retrieving.\n"), opt.output_document);
+ exit(1);
+ }
}
if (!nurl && !opt.input_filename)
}
if (!nurl && !opt.input_filename)