Allow 'gzip -d' and 'bzip2 -d' without gunzip or bunzip2
Idea copied from the "ip" applet. Signed-off-by: Kang-Che Sung <explorer09@gmail.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
		
				
					committed by
					
						 Denys Vlasenko
						Denys Vlasenko
					
				
			
			
				
	
			
			
			
						parent
						
							fb87d93d1e
						
					
				
				
					commit
					b130f9f758
				
			| @@ -12,9 +12,9 @@ | ||||
| //kbuild:lib-$(CONFIG_LZOPCAT) += bbunzip.o | ||||
| //kbuild:lib-$(CONFIG_UNLZOP) += bbunzip.o | ||||
| /* bzip2_main() too: */ | ||||
| //kbuild:lib-$(CONFIG_BZIP2) += bbunzip.o | ||||
| //kbuild:lib-$(CONFIG_FEATURE_BZIP2_DECOMPRESS) += bbunzip.o | ||||
| /* gzip_main() too: */ | ||||
| //kbuild:lib-$(CONFIG_GZIP) += bbunzip.o | ||||
| //kbuild:lib-$(CONFIG_FEATURE_GZIP_DECOMPRESS) += bbunzip.o | ||||
|  | ||||
| /* Note: must be kept in sync with archival/lzop.c */ | ||||
| enum { | ||||
| @@ -197,7 +197,7 @@ int FAST_FUNC bbunpack(char **argv, | ||||
| } | ||||
|  | ||||
| #if ENABLE_UNCOMPRESS \ | ||||
|  || ENABLE_BUNZIP2 || ENABLE_BZCAT \ | ||||
|  || ENABLE_FEATURE_BZIP2_DECOMPRESS \ | ||||
|  || ENABLE_UNLZMA || ENABLE_LZCAT || ENABLE_LZMA \ | ||||
|  || ENABLE_UNXZ || ENABLE_XZCAT || ENABLE_XZ | ||||
| static | ||||
| @@ -295,6 +295,7 @@ int uncompress_main(int argc UNUSED_PARAM, char **argv) | ||||
| //config:config GUNZIP | ||||
| //config:	bool "gunzip" | ||||
| //config:	default y | ||||
| //config:	select FEATURE_GZIP_DECOMPRESS | ||||
| //config:	help | ||||
| //config:	  gunzip is used to decompress archives created by gzip. | ||||
| //config:	  You can use the `-t' option to test the integrity of | ||||
| @@ -303,6 +304,7 @@ int uncompress_main(int argc UNUSED_PARAM, char **argv) | ||||
| //config:config ZCAT | ||||
| //config:	bool "zcat" | ||||
| //config:	default y | ||||
| //config:	select FEATURE_GZIP_DECOMPRESS | ||||
| //config:	help | ||||
| //config:	  Alias to "gunzip -c". | ||||
| //config: | ||||
| @@ -315,9 +317,7 @@ int uncompress_main(int argc UNUSED_PARAM, char **argv) | ||||
|  | ||||
| //applet:IF_GUNZIP(APPLET(gunzip, BB_DIR_BIN, BB_SUID_DROP)) | ||||
| //applet:IF_ZCAT(APPLET_ODDNAME(zcat, gunzip, BB_DIR_BIN, BB_SUID_DROP, zcat)) | ||||
| //kbuild:lib-$(CONFIG_GUNZIP) += bbunzip.o | ||||
| //kbuild:lib-$(CONFIG_ZCAT) += bbunzip.o | ||||
| #if ENABLE_GUNZIP || ENABLE_ZCAT | ||||
| #if ENABLE_FEATURE_GZIP_DECOMPRESS | ||||
| static | ||||
| char* FAST_FUNC make_new_name_gunzip(char *filename, const char *expected_ext UNUSED_PARAM) | ||||
| { | ||||
| @@ -385,7 +385,7 @@ int gunzip_main(int argc UNUSED_PARAM, char **argv) | ||||
|  | ||||
| 	return bbunpack(argv, unpack_gz_stream, make_new_name_gunzip, /*unused:*/ NULL); | ||||
| } | ||||
| #endif | ||||
| #endif /* FEATURE_GZIP_DECOMPRESS */ | ||||
|  | ||||
|  | ||||
| /* | ||||
| @@ -408,6 +408,7 @@ int gunzip_main(int argc UNUSED_PARAM, char **argv) | ||||
| //config:config BUNZIP2 | ||||
| //config:	bool "bunzip2" | ||||
| //config:	default y | ||||
| //config:	select FEATURE_BZIP2_DECOMPRESS | ||||
| //config:	help | ||||
| //config:	  bunzip2 is a compression utility using the Burrows-Wheeler block | ||||
| //config:	  sorting text compression algorithm, and Huffman coding. Compression | ||||
| @@ -421,14 +422,13 @@ int gunzip_main(int argc UNUSED_PARAM, char **argv) | ||||
| //config:config BZCAT | ||||
| //config:	bool "bzcat" | ||||
| //config:	default y | ||||
| //config:	select FEATURE_BZIP2_DECOMPRESS | ||||
| //config:	help | ||||
| //config:	  Alias to "bunzip2 -c". | ||||
|  | ||||
| //applet:IF_BUNZIP2(APPLET(bunzip2, BB_DIR_USR_BIN, BB_SUID_DROP)) | ||||
| //applet:IF_BZCAT(APPLET_ODDNAME(bzcat, bunzip2, BB_DIR_USR_BIN, BB_SUID_DROP, bzcat)) | ||||
| //kbuild:lib-$(CONFIG_BUNZIP2) += bbunzip.o | ||||
| //kbuild:lib-$(CONFIG_BZCAT) += bbunzip.o | ||||
| #if ENABLE_BUNZIP2 || ENABLE_BZCAT | ||||
| #if ENABLE_FEATURE_BZIP2_DECOMPRESS | ||||
| int bunzip2_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE; | ||||
| int bunzip2_main(int argc UNUSED_PARAM, char **argv) | ||||
| { | ||||
|   | ||||
		Reference in New Issue
	
	Block a user