Hi, I would like to issue multiple wget commands in parallel, but then the hard coded ".listing" file creates troubles.
I.e. wget -N -q ftp://ftp.gnu.org/gnu/wget/wget-1.12.tar.gz & pid1=$! wget -N -q ftp://ftp.gnu.org/gnu/wget/wget-1.12.tar.bz2 & pid2=$! both wget commands write to the same listing file ".listing". So I had the idea to make this customizable. Would something like the patch below be acceptable? With this change I could do wget --listing-file=".listing.1" -N -q ftp://ftp.gnu.org/gnu/wget/wget-1.12.tar.gz & pid1=$! wget --listing-file=".listing.2" -N -q ftp://ftp.gnu.org/gnu/wget/wget-1.12.tar.bz2 & pid2=$! Thanks, Manfred diff -r -Nup wget-1.12//src/ftp.c wget-1.12-modified//src/ftp.c --- wget-1.12//src/ftp.c 2009-09-22 04:59:21.000000000 +0200 +++ wget-1.12-modified//src/ftp.c 2009-11-07 23:36:39.000000000 +0100 @@ -1605,7 +1605,10 @@ ftp_get_listing (struct url *u, ccon *co the URL and replacing the last component with the listing file name. */ uf = url_file_name (u); - lf = file_merge (uf, LIST_FILENAME); + if (opt.listing_file) + lf = file_merge (uf, opt.listing_file); + else + lf = file_merge (uf, LIST_FILENAME); xfree (uf); DEBUGP ((_("Using %s as listing tmp file.\n"), quote (lf))); diff -r -Nup wget-1.12//src/init.c wget-1.12-modified//src/init.c --- wget-1.12//src/init.c 2009-09-22 05:02:41.000000000 +0200 +++ wget-1.12-modified//src/init.c 2009-11-08 00:01:35.000000000 +0100 @@ -184,6 +184,7 @@ static const struct { { "iri", &opt.enable_iri, cmd_boolean }, { "keepsessioncookies", &opt.keep_session_cookies, cmd_boolean }, { "limitrate", &opt.limit_rate, cmd_bytes }, + { "listingfile", &opt.listing_file, cmd_file }, { "loadcookies", &opt.cookies_input, cmd_file }, { "localencoding", &opt.locale, cmd_string }, { "logfile", &opt.lfilename, cmd_file }, @@ -1579,6 +1580,7 @@ cleanup (void) xfree_null (opt.ftp_user); xfree_null (opt.ftp_passwd); xfree_null (opt.ftp_proxy); + xfree_null (opt.listing_file); xfree_null (opt.https_proxy); xfree_null (opt.http_proxy); free_vec (opt.no_proxy); diff -r -Nup wget-1.12//src/main.c wget-1.12-modified//src/main.c --- wget-1.12//src/main.c 2009-09-22 05:03:11.000000000 +0200 +++ wget-1.12-modified//src/main.c 2009-11-07 23:15:00.000000000 +0100 @@ -216,6 +216,7 @@ static struct cmdline_option option_data { "keep-session-cookies", 0, OPT_BOOLEAN, "keepsessioncookies", -1 }, { "level", 'l', OPT_VALUE, "reclevel", -1 }, { "limit-rate", 0, OPT_VALUE, "limitrate", -1 }, + { "listing-file", 0, OPT_VALUE, "listingfile", -1 }, { "load-cookies", 0, OPT_VALUE, "loadcookies", -1 }, { "local-encoding", 0, OPT_VALUE, "localencoding", -1 }, { "max-redirect", 0, OPT_VALUE, "maxredirect", -1 }, @@ -624,6 +625,8 @@ FTP options:\n"), --no-passive-ftp disable the \"passive\" transfer mode.\n"), N_("\ --retr-symlinks when recursing, get linked-to files (not dir).\n"), + N_("\ + --listing-file=FILE alternate listing file name instead of \".listing\".\n"), "\n", N_("\ diff -r -Nup wget-1.12//src/options.h wget-1.12-modified//src/options.h --- wget-1.12//src/options.h 2009-09-22 05:03:47.000000000 +0200 +++ wget-1.12-modified//src/options.h 2009-11-07 23:41:12.000000000 +0100 @@ -95,6 +95,7 @@ struct options bool netrc; /* Whether to read .netrc. */ bool ftp_glob; /* FTP globbing */ bool ftp_pasv; /* Passive FTP. */ + char *listing_file; /* FTP listing file */ char *http_user; /* HTTP username. */ char *http_passwd; /* HTTP password. */
