static void filter_xz_init(struct io_lzma *io, lzma_stream *s) { uint32_t preset; lzma_check check = LZMA_CHECK_CRC64; #ifdef HAVE_LZMA_MT lzma_mt mt_options = { .flags = 0, .threads = sysconf(_SC_NPROCESSORS_ONLN), .block_size = 0, .timeout = 0, .filters = NULL, .check = check, }; #endif lzma_ret ret; io->status |= DPKG_STREAM_COMPRESS; preset = io->params->level; if (io->params->strategy == COMPRESSOR_STRATEGY_EXTREME) preset |= LZMA_PRESET_EXTREME; #ifdef HAVE_LZMA_MT mt_options.preset = preset; ret = lzma_stream_encoder_mt(s, &mt_options); #else ret = lzma_easy_encoder(s, preset, check); #endif if (ret != LZMA_OK) filter_lzma_error(io, ret); } static int filter_lzma_code(struct io_lzma *io, lzma_stream *s) { lzma_ret ret; ret = lzma_code(s, io->action); if (ret != LZMA_OK && ret != LZMA_STREAM_END) filter_lzma_error(io, ret); return ret; }
static void filter_lzma_init(struct io_lzma *io, lzma_stream *s) { uint32_t preset; lzma_options_lzma options; lzma_ret ret; io->status |= DPKG_STREAM_COMPRESS; preset = io->params->level; if (io->params->strategy == COMPRESSOR_STRATEGY_EXTREME) preset |= LZMA_PRESET_EXTREME; if (lzma_lzma_preset(&options, preset)) filter_lzma_error(io, LZMA_OPTIONS_ERROR); ret = lzma_alone_encoder(s, &options); if (ret != LZMA_OK) filter_lzma_error(io, ret); }
static int filter_lzma_code(struct io_lzma *io, lzma_stream *s) { lzma_ret ret; ret = lzma_code(s, io->action); if (ret != LZMA_OK && ret != LZMA_STREAM_END) filter_lzma_error(io, ret); return ret; }
static void filter_unlzma_init(struct io_lzma *io, lzma_stream *s) { uint64_t memlimit = UINT64_MAX; lzma_ret ret; io->status |= DPKG_STREAM_DECOMPRESS; ret = lzma_alone_decoder(s, memlimit); if (ret != LZMA_OK) filter_lzma_error(io, ret); }
static void filter_xz_init(struct io_lzma *io, lzma_stream *s) { uint32_t preset; lzma_ret ret; io->status |= DPKG_STREAM_COMPRESS; preset = io->params->level; if (io->params->strategy == COMPRESSOR_STRATEGY_EXTREME) preset |= LZMA_PRESET_EXTREME; ret = lzma_easy_encoder(s, preset, LZMA_CHECK_CRC32); if (ret != LZMA_OK) filter_lzma_error(io, ret); }