From: Eric Andersen Date: Thu, 21 Jun 2001 19:45:06 +0000 (-0000) Subject: Add wget -P support, finishing off bug #1176 X-Git-Tag: 0_52~84 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=8071c021311afb592bb6710b841350018ba97b9d;p=oweals%2Fbusybox.git Add wget -P support, finishing off bug #1176 -Erik --- diff --git a/applets/usage.h b/applets/usage.h index acba3677c..9fd3a2e1c 100644 --- a/applets/usage.h +++ b/applets/usage.h @@ -1729,12 +1729,13 @@ " 31 46 1365 /etc/passwd\n" #define wget_trivial_usage \ - "[-c|--continue] [-q|--quiet] [-O|--output-document file] [--header 'header: value'] url" + "[-c|--continue] [-q|--quiet] [-O|--output-document file]\n\t[--header 'header: value'] [-P DIR] url" #define wget_full_usage \ "wget retrieves files via HTTP or FTP\n\n" \ "Options:\n" \ "\t-c\tcontinue retrieval of aborted transfers\n" \ "\t-q\tquiet mode - do not print\n" \ + "\t-P\tSet directory prefix to DIR\n" \ "\t-O\tsave to filename ('-' for stdout)" #define which_trivial_usage \ diff --git a/include/usage.h b/include/usage.h index acba3677c..9fd3a2e1c 100644 --- a/include/usage.h +++ b/include/usage.h @@ -1729,12 +1729,13 @@ " 31 46 1365 /etc/passwd\n" #define wget_trivial_usage \ - "[-c|--continue] [-q|--quiet] [-O|--output-document file] [--header 'header: value'] url" + "[-c|--continue] [-q|--quiet] [-O|--output-document file]\n\t[--header 'header: value'] [-P DIR] url" #define wget_full_usage \ "wget retrieves files via HTTP or FTP\n\n" \ "Options:\n" \ "\t-c\tcontinue retrieval of aborted transfers\n" \ "\t-q\tquiet mode - do not print\n" \ + "\t-P\tSet directory prefix to DIR\n" \ "\t-O\tsave to filename ('-' for stdout)" #define which_trivial_usage \ diff --git a/networking/wget.c b/networking/wget.c index 6fd170d4d..61945b7d1 100644 --- a/networking/wget.c +++ b/networking/wget.c @@ -160,6 +160,7 @@ int wget_main(int argc, char **argv) int n, try=5, status; int port; char *proxy; + char *dir_prefix=NULL; char *s, buf[512]; struct stat sbuf; char extra_headers[1024]; @@ -188,11 +189,14 @@ int wget_main(int argc, char **argv) /* * Crack command line. */ - while ((n = getopt_long(argc, argv, "cqO:", long_options, &option_index)) != EOF) { + while ((n = getopt_long(argc, argv, "cqO:P:", long_options, &option_index)) != EOF) { switch (n) { case 'c': ++do_continue; break; + case 'P': + dir_prefix = optarg; + break; case 'q': quiet_flag = TRUE; break; @@ -224,7 +228,6 @@ int wget_main(int argc, char **argv) } } - fprintf(stderr, "extra_headers='%s'\n", extra_headers); if (argc - optind != 1) show_usage(); @@ -269,6 +272,7 @@ int wget_main(int argc, char **argv) output = stdout; quiet_flag = TRUE; } else { + fname_out = concat_path_file(dir_prefix, fname_out); output = xfopen(fname_out, (do_continue ? "a" : "w")); } @@ -812,7 +816,7 @@ progressmeter(int flag) * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: wget.c,v 1.41 2001/05/16 15:40:48 kraai Exp $ + * $Id: wget.c,v 1.42 2001/06/21 19:45:06 andersen Exp $ */ diff --git a/usage.h b/usage.h index acba3677c..9fd3a2e1c 100644 --- a/usage.h +++ b/usage.h @@ -1729,12 +1729,13 @@ " 31 46 1365 /etc/passwd\n" #define wget_trivial_usage \ - "[-c|--continue] [-q|--quiet] [-O|--output-document file] [--header 'header: value'] url" + "[-c|--continue] [-q|--quiet] [-O|--output-document file]\n\t[--header 'header: value'] [-P DIR] url" #define wget_full_usage \ "wget retrieves files via HTTP or FTP\n\n" \ "Options:\n" \ "\t-c\tcontinue retrieval of aborted transfers\n" \ "\t-q\tquiet mode - do not print\n" \ + "\t-P\tSet directory prefix to DIR\n" \ "\t-O\tsave to filename ('-' for stdout)" #define which_trivial_usage \ diff --git a/wget.c b/wget.c index 6fd170d4d..61945b7d1 100644 --- a/wget.c +++ b/wget.c @@ -160,6 +160,7 @@ int wget_main(int argc, char **argv) int n, try=5, status; int port; char *proxy; + char *dir_prefix=NULL; char *s, buf[512]; struct stat sbuf; char extra_headers[1024]; @@ -188,11 +189,14 @@ int wget_main(int argc, char **argv) /* * Crack command line. */ - while ((n = getopt_long(argc, argv, "cqO:", long_options, &option_index)) != EOF) { + while ((n = getopt_long(argc, argv, "cqO:P:", long_options, &option_index)) != EOF) { switch (n) { case 'c': ++do_continue; break; + case 'P': + dir_prefix = optarg; + break; case 'q': quiet_flag = TRUE; break; @@ -224,7 +228,6 @@ int wget_main(int argc, char **argv) } } - fprintf(stderr, "extra_headers='%s'\n", extra_headers); if (argc - optind != 1) show_usage(); @@ -269,6 +272,7 @@ int wget_main(int argc, char **argv) output = stdout; quiet_flag = TRUE; } else { + fname_out = concat_path_file(dir_prefix, fname_out); output = xfopen(fname_out, (do_continue ? "a" : "w")); } @@ -812,7 +816,7 @@ progressmeter(int flag) * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: wget.c,v 1.41 2001/05/16 15:40:48 kraai Exp $ + * $Id: wget.c,v 1.42 2001/06/21 19:45:06 andersen Exp $ */