unxz: new applet, complete with xzcat and xz -d aliases

function                                             old     new   delta
unpack_xz_stream_stdin                                 -    3953   +3953
lzma_main                                              -    2601   +2601
lzma_len                                               -     516    +516
dec_vli                                                -     165    +165
dict_repeat                                            -     103    +103
lzma_reset                                             -      98     +98
fill_temp                                              -      98     +98
crc32_validate                                         -      93     +93
xz_dec_reset                                           -      77     +77
unxz_main                                              -      77     +77
index_update                                           -      47     +47
xz_crc32                                               -      40     +40
packed_usage                                       27044   27060     +16
make_new_name_unxz                                     -      14     +14
applet_names                                        2240    2254     +14
applet_main                                         1312    1324     +12
applet_nameofs                                       656     662      +6
unpack_unxz                                            -       5      +5
send_tree                                            355     360      +5
applet_install_loc                                   164     166      +2
------------------------------------------------------------------------------
(add/remove: 15/0 grow/shrink: 6/0 up/down: 7942/0)          Total: 7942 bytes
   text    data     bss     dec     hex filename
 844032     453    6812  851297   cfd61 busybox_old
 852063     453    6812  859328   d1cc0 busybox_unstripped

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
Denys Vlasenko
2010-05-30 03:35:18 +02:00
parent e04c867a21
commit 602ce69afb
16 changed files with 3433 additions and 9 deletions

View File

@@ -419,6 +419,7 @@ IF_UNCOMPRESS(APPLET(uncompress, _BB_DIR_BIN, _BB_SUID_DROP))
IF_UNEXPAND(APPLET_ODDNAME(unexpand, expand, _BB_DIR_USR_BIN, _BB_SUID_DROP, unexpand))
IF_UNIQ(APPLET(uniq, _BB_DIR_USR_BIN, _BB_SUID_DROP))
IF_UNIX2DOS(APPLET_ODDNAME(unix2dos, dos2unix, _BB_DIR_USR_BIN, _BB_SUID_DROP, unix2dos))
IF_UNXZ(APPLET(unxz, _BB_DIR_USR_BIN, _BB_SUID_DROP))
IF_UNLZMA(APPLET(unlzma, _BB_DIR_USR_BIN, _BB_SUID_DROP))
IF_LZOP(APPLET_ODDNAME(unlzop, lzop, _BB_DIR_USR_BIN, _BB_SUID_DROP, unlzop))
IF_UNZIP(APPLET(unzip, _BB_DIR_USR_BIN, _BB_SUID_DROP))
@@ -439,6 +440,8 @@ IF_WHICH(APPLET(which, _BB_DIR_USR_BIN, _BB_SUID_DROP))
IF_WHO(APPLET(who, _BB_DIR_USR_BIN, _BB_SUID_DROP))
IF_WHOAMI(APPLET_NOFORK(whoami, whoami, _BB_DIR_USR_BIN, _BB_SUID_DROP, whoami))
IF_XARGS(APPLET_NOEXEC(xargs, xargs, _BB_DIR_USR_BIN, _BB_SUID_DROP, xargs))
IF_UNXZ(APPLET_ODDNAME(xzcat, unxz, _BB_DIR_USR_BIN, _BB_SUID_DROP, xzcat))
IF_XZ(APPLET_ODDNAME(xz, unxz, _BB_DIR_USR_BIN, _BB_SUID_DROP, xz))
IF_YES(APPLET_NOFORK(yes, yes, _BB_DIR_USR_BIN, _BB_SUID_DROP, yes))
IF_GUNZIP(APPLET_ODDNAME(zcat, gunzip, _BB_DIR_BIN, _BB_SUID_DROP, zcat))
IF_ZCIP(APPLET(zcip, _BB_DIR_SBIN, _BB_SUID_DROP))

View File

@@ -143,6 +143,7 @@ typedef struct inflate_unzip_result {
} inflate_unzip_result;
IF_DESKTOP(long long) int inflate_unzip(inflate_unzip_result *res, off_t compr_size, int src_fd, int dst_fd) FAST_FUNC;
IF_DESKTOP(long long) int unpack_xz_stream_stdin(void) FAST_FUNC;
/* lzma unpacker takes .lzma stream from offset 0 */
IF_DESKTOP(long long) int unpack_lzma_stream(int src_fd, int dst_fd) FAST_FUNC;
/* the rest wants 2 first bytes already skipped by the caller */

View File

@@ -269,6 +269,28 @@
#define lzcat_full_usage "\n\n" \
"Decompress to stdout"
#define unxz_trivial_usage \
"[OPTIONS] [FILE]..."
#define unxz_full_usage "\n\n" \
"Decompress FILE (or stdin)\n" \
"\nOptions:" \
"\n -c Write to stdout" \
"\n -f Force" \
#define xz_trivial_usage \
"-d [OPTIONS] [FILE]..."
#define xz_full_usage "\n\n" \
"Decompress FILE (or stdin)\n" \
"\nOptions:" \
"\n -d Decompress" \
"\n -c Write to stdout" \
"\n -f Force" \
#define xzcat_trivial_usage \
"FILE"
#define xzcat_full_usage "\n\n" \
"Decompress to stdout"
#define cal_trivial_usage \
"[-jy] [[MONTH] YEAR]"
#define cal_full_usage "\n\n" \