aboutsummaryrefslogtreecommitdiff
path: root/archival/bbunzip.c
diff options
context:
space:
mode:
Diffstat (limited to 'archival/bbunzip.c')
-rw-r--r--archival/bbunzip.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/archival/bbunzip.c b/archival/bbunzip.c
index b243afb2e..c1259ac46 100644
--- a/archival/bbunzip.c
+++ b/archival/bbunzip.c
@@ -373,12 +373,21 @@ int unlzma_main(int argc UNUSED_PARAM, char **argv)
373static 373static
374IF_DESKTOP(long long) int FAST_FUNC unpack_unxz(unpack_info_t *info UNUSED_PARAM) 374IF_DESKTOP(long long) int FAST_FUNC unpack_unxz(unpack_info_t *info UNUSED_PARAM)
375{ 375{
376 struct {
377 uint32_t v1;
378 uint16_t v2;
379 } magic;
380 xread(STDIN_FILENO, &magic, 6);
381 if (magic.v1 != XZ_MAGIC1a || magic.v2 != XZ_MAGIC2a) {
382 bb_error_msg("invalid magic");
383 return -1;
384 }
376 return unpack_xz_stream(STDIN_FILENO, STDOUT_FILENO); 385 return unpack_xz_stream(STDIN_FILENO, STDOUT_FILENO);
377} 386}
378int unxz_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE; 387int unxz_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
379int unxz_main(int argc UNUSED_PARAM, char **argv) 388int unxz_main(int argc UNUSED_PARAM, char **argv)
380{ 389{
381 int opts = getopt32(argv, "cfvdt"); 390 IF_XZ(int opts =) getopt32(argv, "cfvdt");
382# if ENABLE_XZ 391# if ENABLE_XZ
383 /* xz without -d or -t? */ 392 /* xz without -d or -t? */
384 if (applet_name[2] == '\0' && !(opts & (OPT_DECOMPRESS|OPT_TEST))) 393 if (applet_name[2] == '\0' && !(opts & (OPT_DECOMPRESS|OPT_TEST)))