Add wget -P support, finishing off bug #1176
 -Erik
diff --git a/applets/usage.h b/applets/usage.h
index acba367..9fd3a2e 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 acba367..9fd3a2e 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 6fd170d..61945b7 100644
--- a/networking/wget.c
+++ b/networking/wget.c
@@ -160,6 +160,7 @@
 	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 @@
 	/*
 	 * 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 @@
 		}
 	}
 
-	fprintf(stderr, "extra_headers='%s'\n", extra_headers);
 	if (argc - optind != 1)
 			show_usage();
 
@@ -269,6 +272,7 @@
 		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 @@
  * 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 acba367..9fd3a2e 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 6fd170d..61945b7 100644
--- a/wget.c
+++ b/wget.c
@@ -160,6 +160,7 @@
 	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 @@
 	/*
 	 * 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 @@
 		}
 	}
 
-	fprintf(stderr, "extra_headers='%s'\n", extra_headers);
 	if (argc - optind != 1)
 			show_usage();
 
@@ -269,6 +272,7 @@
 		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 @@
  * 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 $
  */