X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=archival%2Flzop.c;h=e0e90ac6cdcb8ca31d07d37f79a3c80812aa21d9;hb=179e88bec91cfe58096900dc5509a080ff37b083;hp=1371c97519f7abb15fc1981d6b58df9c9316abfa;hpb=e6a2f4cc5a47d3022bdf5ca2cacbaa5a8c5baf7a;p=oweals%2Fbusybox.git diff --git a/archival/lzop.c b/archival/lzop.c index 1371c9751..e0e90ac6c 100644 --- a/archival/lzop.c +++ b/archival/lzop.c @@ -31,19 +31,33 @@ //config: help //config: Lzop compression/decompresion. //config: +//config:config UNLZOP +//config: bool "unlzop" +//config: default y +//config: help +//config: Lzop decompresion. +//config: +//config:config LZOPCAT +//config: bool "lzopcat" +//config: default y +//config: help +//config: Alias to "unlzop -c". +//config: //config:config LZOP_COMPR_HIGH //config: bool "lzop compression levels 7,8,9 (not very useful)" //config: default n -//config: depends on LZOP +//config: depends on LZOP || UNLZOP || LZOPCAT //config: help //config: High levels (7,8,9) of lzop compression. These levels //config: are actually slower than gzip at equivalent compression ratios //config: and take up 3.2K of code. //applet:IF_LZOP(APPLET(lzop, BB_DIR_BIN, BB_SUID_DROP)) -//applet:IF_LZOP(APPLET_ODDNAME(lzopcat, lzop, BB_DIR_USR_BIN, BB_SUID_DROP, lzopcat)) -//applet:IF_LZOP(APPLET_ODDNAME(unlzop, lzop, BB_DIR_USR_BIN, BB_SUID_DROP, unlzop)) +//applet:IF_UNLZOP(APPLET_ODDNAME(unlzop, lzop, BB_DIR_USR_BIN, BB_SUID_DROP, unlzop)) +//applet:IF_LZOPCAT(APPLET_ODDNAME(lzopcat, lzop, BB_DIR_USR_BIN, BB_SUID_DROP, lzopcat)) //kbuild:lib-$(CONFIG_LZOP) += lzop.o +//kbuild:lib-$(CONFIG_UNLZOP) += lzop.o +//kbuild:lib-$(CONFIG_LZOPCAT) += lzop.o //usage:#define lzop_trivial_usage //usage: "[-cfvd123456789CF] [FILE]..." @@ -57,18 +71,18 @@ //usage: "\n -C Also write checksum of compressed block" //usage: //usage:#define lzopcat_trivial_usage -//usage: "[-vCF] [FILE]..." +//usage: "[-vF] [FILE]..." //usage:#define lzopcat_full_usage "\n\n" //usage: " -v Verbose" -//usage: "\n -F Don't store or verify checksum" +//usage: "\n -F Don't verify checksum" //usage: //usage:#define unlzop_trivial_usage -//usage: "[-cfvCF] [FILE]..." +//usage: "[-cfvF] [FILE]..." //usage:#define unlzop_full_usage "\n\n" //usage: " -c Write to stdout" //usage: "\n -f Force" //usage: "\n -v Verbose" -//usage: "\n -F Don't store or verify checksum" +//usage: "\n -F Don't verify checksum" #include "libbb.h" #include "common_bufsiz.h" @@ -445,7 +459,7 @@ struct globals { chksum_t chksum_out; } FIX_ALIASING; #define G (*(struct globals*)bb_common_bufsiz1) -#define INIT_G() do { } while (0) +#define INIT_G() do { setup_common_bufsiz(); } while (0) //#define G (*ptr_to_globals) //#define INIT_G() do { // SET_PTR_TO_GLOBALS(xzalloc(sizeof(G))); @@ -896,7 +910,7 @@ static NOINLINE int lzo_decompress(const header_t *h) * chksum_out * The rest is identical. */ -static const unsigned char lzop_magic[9] = { +static const unsigned char lzop_magic[9] ALIGN1 = { 0x89, 0x4c, 0x5a, 0x4f, 0x00, 0x0d, 0x0a, 0x1a, 0x0a }; @@ -1111,10 +1125,10 @@ int lzop_main(int argc UNUSED_PARAM, char **argv) getopt32(argv, OPTION_STRING); argv += optind; /* lzopcat? */ - if (applet_name[4] == 'c') + if (ENABLE_LZOPCAT && applet_name[4] == 'c') option_mask32 |= (OPT_STDOUT | OPT_DECOMPRESS); /* unlzop? */ - if (applet_name[4] == 'o') + if (ENABLE_UNLZOP && applet_name[4] == 'o') option_mask32 |= OPT_DECOMPRESS; global_crc32_table = crc32_filltable(NULL, 0);