mirror of
https://github.com/sheumann/hush.git
synced 2025-01-18 23:29:48 +00:00
gzip: add optional support for --long-opts
Signed-off-by: Matheus Izvekov <mizvekov@gmail.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
parent
251912443c
commit
839fd71077
@ -165,6 +165,13 @@ config GZIP
|
|||||||
gzip is used to compress files.
|
gzip is used to compress files.
|
||||||
It's probably the most widely used UNIX compression program.
|
It's probably the most widely used UNIX compression program.
|
||||||
|
|
||||||
|
config FEATURE_GZIP_LONG_OPTIONS
|
||||||
|
bool "Enable long options"
|
||||||
|
default n
|
||||||
|
depends on GZIP && LONG_OPTS
|
||||||
|
help
|
||||||
|
Enable use of long options, increases size by about 106 Bytes
|
||||||
|
|
||||||
config LZOP
|
config LZOP
|
||||||
bool "lzop"
|
bool "lzop"
|
||||||
default n
|
default n
|
||||||
|
@ -2043,6 +2043,23 @@ IF_DESKTOP(long long) int pack_gzip(unpack_info_t *info UNUSED_PARAM)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if ENABLE_FEATURE_GZIP_LONG_OPTIONS
|
||||||
|
static const char gzip_longopts[] ALIGN1 =
|
||||||
|
"stdout\0" No_argument "c"
|
||||||
|
"to-stdout\0" No_argument "c"
|
||||||
|
"force\0" No_argument "f"
|
||||||
|
"verbose\0" No_argument "v"
|
||||||
|
#if ENABLE_GUNZIP
|
||||||
|
"decompress\0" No_argument "d"
|
||||||
|
"uncompress\0" No_argument "d"
|
||||||
|
"test\0" No_argument "t"
|
||||||
|
#endif
|
||||||
|
"quiet\0" No_argument "q"
|
||||||
|
"fast\0" No_argument "1"
|
||||||
|
"best\0" No_argument "9"
|
||||||
|
;
|
||||||
|
#endif
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Linux kernel build uses gzip -d -n. We accept and ignore it.
|
* Linux kernel build uses gzip -d -n. We accept and ignore it.
|
||||||
* Man page says:
|
* Man page says:
|
||||||
@ -2066,6 +2083,9 @@ int gzip_main(int argc UNUSED_PARAM, char **argv)
|
|||||||
{
|
{
|
||||||
unsigned opt;
|
unsigned opt;
|
||||||
|
|
||||||
|
#if ENABLE_FEATURE_GZIP_LONG_OPTIONS
|
||||||
|
applet_long_options = gzip_longopts;
|
||||||
|
#endif
|
||||||
/* Must match bbunzip's constants OPT_STDOUT, OPT_FORCE! */
|
/* Must match bbunzip's constants OPT_STDOUT, OPT_FORCE! */
|
||||||
opt = getopt32(argv, "cfv" IF_GUNZIP("dt") "q123456789n");
|
opt = getopt32(argv, "cfv" IF_GUNZIP("dt") "q123456789n");
|
||||||
#if ENABLE_GUNZIP /* gunzip_main may not be visible... */
|
#if ENABLE_GUNZIP /* gunzip_main may not be visible... */
|
||||||
@ -2080,7 +2100,6 @@ int gzip_main(int argc UNUSED_PARAM, char **argv)
|
|||||||
|
|
||||||
SET_PTR_TO_GLOBALS((char *)xzalloc(sizeof(struct globals)+sizeof(struct globals2))
|
SET_PTR_TO_GLOBALS((char *)xzalloc(sizeof(struct globals)+sizeof(struct globals2))
|
||||||
+ sizeof(struct globals));
|
+ sizeof(struct globals));
|
||||||
barrier();
|
|
||||||
|
|
||||||
/* Allocate all global buffers (for DYN_ALLOC option) */
|
/* Allocate all global buffers (for DYN_ALLOC option) */
|
||||||
ALLOC(uch, G1.l_buf, INBUFSIZ);
|
ALLOC(uch, G1.l_buf, INBUFSIZ);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user