Add wget -P support, finishing off bug #1176
authorEric Andersen <andersen@codepoet.org>
Thu, 21 Jun 2001 19:45:06 +0000 (19:45 -0000)
committerEric Andersen <andersen@codepoet.org>
Thu, 21 Jun 2001 19:45:06 +0000 (19:45 -0000)
 -Erik

applets/usage.h
include/usage.h
networking/wget.c
usage.h
wget.c

index acba3677c34a15ac29ac06cb5a9641e829e960d2..9fd3a2e1c6a7992b50c6400a8c3aea66390501cd 100644 (file)
        "     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 \
index acba3677c34a15ac29ac06cb5a9641e829e960d2..9fd3a2e1c6a7992b50c6400a8c3aea66390501cd 100644 (file)
        "     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 \
index 6fd170d4d3348d373a822edc29c79c377a220414..61945b7d1ec641af658a3805da416c3757bbd52c 100644 (file)
@@ -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 acba3677c34a15ac29ac06cb5a9641e829e960d2..9fd3a2e1c6a7992b50c6400a8c3aea66390501cd 100644 (file)
--- a/usage.h
+++ b/usage.h
        "     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 6fd170d4d3348d373a822edc29c79c377a220414..61945b7d1ec641af658a3805da416c3757bbd52c 100644 (file)
--- 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 $
  */