[PATCH 1/2] wget: add -o flag

Denys Vlasenko vda.linux at googlemail.com
Fri Jan 4 17:13:26 UTC 2019


On Wed, Dec 26, 2018 at 4:28 PM Martin Lewis <martin.lewis.x84 at gmail.com> wrote:
> Signed-off-by: Martin Lewis <martin.lewis.x84 at gmail.com>
> ---
>  networking/wget.c | 28 +++++++++++++++++++++++++---
>  1 file changed, 25 insertions(+), 3 deletions(-)
>
> diff --git a/networking/wget.c b/networking/wget.c
> index 58a51d9..8da0ce8 100644
> --- a/networking/wget.c
> +++ b/networking/wget.c
> @@ -128,9 +128,10 @@
>  /* //usage:    "       [--no-check-certificate] [--no-cache] [--passive-ftp] [-t TRIES]" */
>  /* //usage:    "       [-nv] [-nc] [-nH] [-np]" */
>  //usage:       "       [-S|--server-response] [-U|--user-agent AGENT]" IF_FEATURE_WGET_TIMEOUT(" [-T SEC]") " URL..."
> +//usage:       "       [-o|--output-file]\n"
>  //usage:       )
>  //usage:       IF_NOT_FEATURE_WGET_LONG_OPTIONS(
> -//usage:       "[-cq] [-O FILE] [-Y on/off] [-P DIR] [-S] [-U AGENT]"
> +//usage:       "[-cq] [-O FILE] [-o FILE] [-Y on/off] [-P DIR] [-S] [-U AGENT]"
>  //usage:                       IF_FEATURE_WGET_TIMEOUT(" [-T SEC]") " URL..."
>  //usage:       )
>  //usage:#define wget_full_usage "\n\n"
> @@ -147,6 +148,7 @@
>  //usage:     "\n       -T SEC          Network read timeout is SEC seconds"
>  //usage:       )
>  //usage:     "\n       -O FILE         Save to FILE ('-' for stdout)"
> +//usage:     "\n       -o FILE         Save output to FILE ('-' for stdout)"
>  //usage:     "\n       -U STR          Use STR for User-Agent header"
>  //usage:     "\n       -Y on/off       Use proxy"
>
> @@ -231,9 +233,11 @@ struct globals {
>         unsigned char user_headers; /* Headers mentioned by the user */
>  #endif
>         char *fname_out;        /* where to direct output (-O) */
> +       char *fname_log;        /* where to direct log (-o) */
>         const char *proxy_flag; /* Use proxies if env vars are set */
>         const char *user_agent; /* "User-Agent" header field */
>         int output_fd;
> +       int log_fd;
>         int o_flags;
>  #if ENABLE_FEATURE_WGET_TIMEOUT
>         unsigned timeout_seconds;
> @@ -287,6 +291,10 @@ static void progress_meter(int flag)
>         if (option_mask32 & WGET_OPT_QUIET)
>                 return;
>
> +       /* Don't save progress to log file */
> +       if (G.log_fd >= 0)
> +               return;
> +
>         if (flag == PROGRESS_START)
>                 bb_progress_init(&G.pmt, G.curfile);
>
> @@ -1401,6 +1409,7 @@ int wget_main(int argc UNUSED_PARAM, char **argv)
>                 "quiet\0"            No_argument       "q"
>                 "server-response\0"  No_argument       "S"
>                 "output-document\0"  Required_argument "O"
> +               "output-file\0"      Required_argument "o"
>                 "directory-prefix\0" Required_argument "P"
>                 "proxy\0"            Required_argument "Y"
>                 "user-agent\0"       Required_argument "U"
> @@ -1444,7 +1453,7 @@ IF_DESKTOP(       "no-parent\0"        No_argument       "\xf0")
>  #if ENABLE_FEATURE_WGET_LONG_OPTIONS
>  #endif
>         GETOPT32(argv, "^"
> -               "cqSO:P:Y:U:T:+"
> +               "cqSO:o:P:Y:U:T:+"


You forgot to update WGET_OPT_xyz constants.


More information about the busybox mailing list