summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorDenys Vlasenko2010-05-30 03:35:18 +0200
committerDenys Vlasenko2010-05-30 03:35:18 +0200
commit602ce69afb7c825a5aeed16d0bdb5a6a213d1cb1 (patch)
tree0d2c4ec107ebf64a57ca3d919f32f6878cf279bd /include
parente04c867a214c4b6318bf1efce9e6681750140d2f (diff)
downloadbusybox-602ce69afb7c825a5aeed16d0bdb5a6a213d1cb1.zip
busybox-602ce69afb7c825a5aeed16d0bdb5a6a213d1cb1.tar.gz
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>
Diffstat (limited to 'include')
-rw-r--r--include/applets.h3
-rw-r--r--include/unarchive.h1
-rw-r--r--include/usage.h22
3 files changed, 26 insertions, 0 deletions
diff --git a/include/applets.h b/include/applets.h
index a171c54..d8a706b 100644
--- a/include/applets.h
+++ b/include/applets.h
@@ -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))
diff --git a/include/unarchive.h b/include/unarchive.h
index a834816..14cd98e 100644
--- a/include/unarchive.h
+++ b/include/unarchive.h
@@ -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 */
diff --git a/include/usage.h b/include/usage.h
index 3aa980c..a9c4c42 100644
--- a/include/usage.h
+++ b/include/usage.h
@@ -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" \