aboutsummaryrefslogtreecommitdiff
path: root/archival/bzip2.c
diff options
context:
space:
mode:
Diffstat (limited to 'archival/bzip2.c')
-rw-r--r--archival/bzip2.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/archival/bzip2.c b/archival/bzip2.c
index c3969a9e8..fa906150f 100644
--- a/archival/bzip2.c
+++ b/archival/bzip2.c
@@ -151,7 +151,8 @@ IF_DESKTOP(long long) int FAST_FUNC compressStream(transformer_state_t *xstate U
151 151
152 iobuf = xmalloc(2 * IOBUF_SIZE); 152 iobuf = xmalloc(2 * IOBUF_SIZE);
153 153
154 opt = option_mask32 >> (sizeof("cfkvq" IF_FEATURE_BZIP2_DECOMPRESS("dt") "zs") - 1); 154 opt = option_mask32 >> (BBUNPK_OPTSTRLEN IF_FEATURE_BZIP2_DECOMPRESS(+ 2) + 2);
155 /* skipped BBUNPK_OPTSTR, "dt" and "zs" bits */
155 opt |= 0x100; /* if nothing else, assume -9 */ 156 opt |= 0x100; /* if nothing else, assume -9 */
156 level = 0; 157 level = 0;
157 for (;;) { 158 for (;;) {
@@ -205,17 +206,17 @@ int bzip2_main(int argc UNUSED_PARAM, char **argv)
205 */ 206 */
206 207
207 opt = getopt32(argv, "^" 208 opt = getopt32(argv, "^"
208 /* Must match bbunzip's constants OPT_STDOUT, OPT_FORCE! */ 209 /* Must match BBUNPK_foo constants! */
209 "cfkvq" IF_FEATURE_BZIP2_DECOMPRESS("dt") "zs123456789" 210 BBUNPK_OPTSTR IF_FEATURE_BZIP2_DECOMPRESS("dt") "zs123456789"
210 "\0" "s2" /* -s means -2 (compatibility) */ 211 "\0" "s2" /* -s means -2 (compatibility) */
211 ); 212 );
212#if ENABLE_FEATURE_BZIP2_DECOMPRESS /* bunzip2_main may not be visible... */ 213#if ENABLE_FEATURE_BZIP2_DECOMPRESS /* bunzip2_main may not be visible... */
213 if (opt & (3 << 5)) /* -d and/or -t */ 214 if (opt & (BBUNPK_OPT_DECOMPRESS|BBUNPK_OPT_TEST)) /* -d and/or -t */
214 return bunzip2_main(argc, argv); 215 return bunzip2_main(argc, argv);
215#else 216#else
216 /* clear "decompress" and "test" bits (or bbunpack() can get confused) */ 217 /* clear "decompress" and "test" bits (or bbunpack() can get confused) */
217 /* in !BZIP2_DECOMPRESS config, these bits are -zs and are unused */ 218 /* in !BZIP2_DECOMPRESS config, these bits are -zs and are unused */
218 option_mask32 = opt & ~(3 << 5); 219 option_mask32 = opt & ~(BBUNPK_OPT_DECOMPRESS|BBUNPK_OPT_TEST);
219#endif 220#endif
220 221
221 argv += optind; 222 argv += optind;