[PATCH 1/2] gunzip: add support for long options

Denys Vlasenko vda.linux at googlemail.com
Tue Oct 27 20:29:19 UTC 2015


Applied, thanks!

On Mon, Oct 26, 2015 at 10:42 PM, Aaro Koskinen <aaro.koskinen at iki.fi> wrote:
> Add support for long options.
>
> Signed-off-by: Aaro Koskinen <aaro.koskinen at iki.fi>
> ---
>  archival/bbunzip.c | 20 ++++++++++++++++++++
>  1 file changed, 20 insertions(+)
>
> diff --git a/archival/bbunzip.c b/archival/bbunzip.c
> index 548882f..e10372e 100644
> --- a/archival/bbunzip.c
> +++ b/archival/bbunzip.c
> @@ -290,6 +290,13 @@ int uncompress_main(int argc UNUSED_PARAM, char **argv)
>  //config:        gunzip is used to decompress archives created by gzip.
>  //config:        You can use the `-t' option to test the integrity of
>  //config:        an archive, without decompressing it.
> +//config:
> +//config:config FEATURE_GUNZIP_LONG_OPTIONS
> +//config:      bool "Enable long options"
> +//config:      default y
> +//config:      depends on GUNZIP && LONG_OPTS
> +//config:      help
> +//config:        Enable use of long options.
>
>  //applet:IF_GUNZIP(APPLET(gunzip, BB_DIR_BIN, BB_SUID_DROP))
>  //applet:IF_GUNZIP(APPLET_ODDNAME(zcat, gunzip, BB_DIR_BIN, BB_SUID_DROP, zcat))
> @@ -321,6 +328,16 @@ char* FAST_FUNC make_new_name_gunzip(char *filename, const char *expected_ext UN
>         }
>         return filename;
>  }
> +
> +#if ENABLE_FEATURE_GUNZIP_LONG_OPTIONS
> +static const char gunzip_longopts[] ALIGN1 =
> +       "stdout\0"              No_argument       "c"
> +       "to-stdout\0"           No_argument       "c"
> +       "force\0"               No_argument       "f"
> +       "test\0"                No_argument       "t"
> +       ;
> +#endif
> +
>  /*
>   * Linux kernel build uses gzip -d -n. We accept and ignore it.
>   * Man page says:
> @@ -337,6 +354,9 @@ char* FAST_FUNC make_new_name_gunzip(char *filename, const char *expected_ext UN
>  int gunzip_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
>  int gunzip_main(int argc UNUSED_PARAM, char **argv)
>  {
> +#if ENABLE_FEATURE_GUNZIP_LONG_OPTIONS
> +       applet_long_options = gunzip_longopts;
> +#endif
>         getopt32(argv, "cfvqdtn");
>         argv += optind;
>
> --
> 2.4.0
>
> _______________________________________________
> busybox mailing list
> busybox at busybox.net
> http://lists.busybox.net/mailman/listinfo/busybox


More information about the busybox mailing list