From: Micah Cowan Date: Fri, 16 May 2008 05:36:20 +0000 (-0700) Subject: Merging heads. X-Git-Tag: v1.13~421^2~12^2~22 X-Git-Url: http://sjero.net/git/?p=wget;a=commitdiff_plain;h=d78cd8d8f8e12d1b71ac19795131d6975abe544b Merging heads. --- d78cd8d8f8e12d1b71ac19795131d6975abe544b diff --cc ChangeLog index 697f2ca6,ad4c460c..1a20b3c6 --- a/ChangeLog +++ b/ChangeLog @@@ -1,7 -1,8 +1,12 @@@ +2008-05-15 Micah Cowan + + * NEWS: Entry for --ask-password. + + 2008-05-14 Joao Ferreira + + * src/main.c, src/http.c, src/ftp.c: -nc is now working in - conjunction with '-O file'. ++ conjunction with '-O file'. + 2008-05-12 Micah Cowan * NEWS: Translations and -N/-O. diff --cc src/ChangeLog index c5edf7a3,149bc521..0d4c94b5 --- a/src/ChangeLog +++ b/src/ChangeLog @@@ -1,12 -1,8 +1,17 @@@ + 2008-05-15 Steven Schubiger + + * ftp.c (getftp): Verify that the file actually exists in FTP, by + checking it against the listing. + +2008-05-15 Micah Cowan + + * main.c (prompt_for_password): Use the quote module. + +2008-05-14 Micah Cowan + + * ftp.c (ftp_retrieve_list): Symlinks and other filenames + should be fully quoted. + 2008-05-12 Micah Cowan * main.c (main): Downgrade "-N with -O" to a warning, and switch diff --cc src/ftp.c index 0ecc6bcb,5bfd2aa8..17df5029 --- a/src/ftp.c +++ b/src/ftp.c @@@ -1096,10 -1118,12 +1123,12 @@@ ftp_loop_internal (struct url *u, struc 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 didn'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); + _("File %s already there; not retrieving.\n"), quote (con->target)); /* If the file is there, we suppose it's retrieved OK. */ return RETROK; } diff --cc src/http.c index 0252d342,20f0619a..11dc9cc8 --- a/src/http.c +++ b/src/http.c @@@ -1823,12 -1821,13 +1823,13 @@@ gethttp (struct url *u, struct http_sta /* 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"), hs->local_file); +File %s already there; not retrieving.\n\n"), quote (hs->local_file)); /* If the file is there, we suppose it's retrieved OK. */ *dt |= RETROKF; @@@ -2376,13 -2375,14 +2377,14 @@@ http_loop (struct url *u, char **newloc /* 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"), - hstat.local_file); +File %s already there; not retrieving.\n\n"), + quote (hstat.local_file)); /* If the file is there, we suppose it's retrieved OK. */ *dt |= RETROKF; diff --cc src/main.c index e239b6d0,fdf368a5..159973a0 --- a/src/main.c +++ b/src/main.c @@@ -920,15 -905,14 +920,21 @@@ WARNING: timestamping does nothing in c 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 (opt.ask_passwd && opt.passwd) + { + printf (_("Cannot specify both --ask-password and --password.\n")); + print_usage (); + exit (1); + } + if (!nurl && !opt.input_filename) { /* No URL specified. */