diff options
author | Denys Vlasenko | 2010-05-27 02:22:54 +0200 |
---|---|---|
committer | Denys Vlasenko | 2010-05-27 02:22:54 +0200 |
commit | ccb88a689e0f603f8d94255a7d9cb8128b6e620d (patch) | |
tree | ebd35745219fbb246b605826a147e6ec031d891e /archival/bbunzip.c | |
parent | c5f30c0df8f0ce5e94ca22a5100496233067708a (diff) | |
download | busybox-ccb88a689e0f603f8d94255a7d9cb8128b6e620d.zip busybox-ccb88a689e0f603f8d94255a7d9cb8128b6e620d.tar.gz |
unlzma: add "lzma -d" alias, add -t support, rename lzmacat->lzcat
Also coalesce some common strings
text data bss dec hex filename
844110 453 6812 851375 cfdaf busybox_old
844061 453 6812 851326 cfd7e busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Diffstat (limited to 'archival/bbunzip.c')
-rw-r--r-- | archival/bbunzip.c | 27 |
1 files changed, 16 insertions, 11 deletions
diff --git a/archival/bbunzip.c b/archival/bbunzip.c index df674bc..1e775f4 100644 --- a/archival/bbunzip.c +++ b/archival/bbunzip.c @@ -9,12 +9,12 @@ #include "unarchive.h" enum { - OPT_STDOUT = 0x1, - OPT_FORCE = 0x2, -/* gunzip and bunzip2 only: */ - OPT_VERBOSE = 0x4, - OPT_DECOMPRESS = 0x8, - OPT_TEST = 0x10, + OPT_STDOUT = 1 << 0, + OPT_FORCE = 1 << 1, + /* only some decompressors: */ + OPT_VERBOSE = 1 << 2, + OPT_DECOMPRESS = 1 << 3, + OPT_TEST = 1 << 4, }; static @@ -333,12 +333,17 @@ IF_DESKTOP(long long) int unpack_unlzma(unpack_info_t *info UNUSED_PARAM) int unlzma_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE; int unlzma_main(int argc UNUSED_PARAM, char **argv) { - getopt32(argv, "cf"); - argv += optind; - /* lzmacat? */ - if (applet_name[4] == 'c') + int opts = getopt32(argv, "cfvdt"); +# if ENABLE_FEATURE_LZMA_ALIAS + /* lzma without -d or -t? */ + if (applet_name[2] == 'm' && !(opts & (OPT_DECOMPRESS|OPT_TEST))) + bb_show_usage(); +# endif + /* lzcat? */ + if (applet_name[2] == 'c') option_mask32 |= OPT_STDOUT; + argv += optind; return bbunpack(argv, make_new_name_unlzma, unpack_unlzma); } @@ -346,7 +351,7 @@ int unlzma_main(int argc UNUSED_PARAM, char **argv) /* - * Uncompress applet for busybox (c) 2002 Glenn McGrath + * Uncompress applet for busybox (c) 2002 Glenn McGrath * * Licensed under GPLv2 or later, see file LICENSE in this tarball for details. */ |