Made the preset numbering more logical in liblzma API.
This commit is contained in:
parent
5e4df4c3c0
commit
1e8e4fd1f3
|
@ -49,7 +49,7 @@ typedef enum {
|
||||||
/**<
|
/**<
|
||||||
* LZMA2 filter with fast compression (fast in terms of LZMA2).
|
* LZMA2 filter with fast compression (fast in terms of LZMA2).
|
||||||
* If you are interested in the exact options used, see
|
* If you are interested in the exact options used, see
|
||||||
* lzma_preset_lzma[0]. Note that the exact options may
|
* lzma_lzma_preset(1). Note that the exact options may
|
||||||
* change between liblzma versions.
|
* change between liblzma versions.
|
||||||
*
|
*
|
||||||
* At the moment, the command line tool uses these settings
|
* At the moment, the command line tool uses these settings
|
||||||
|
@ -57,18 +57,18 @@ typedef enum {
|
||||||
* may default to some more complex way to determine the
|
* may default to some more complex way to determine the
|
||||||
* settings used e.g. the type of files being compressed.
|
* settings used e.g. the type of files being compressed.
|
||||||
*
|
*
|
||||||
* LZMA_EASY_LZMA_2 is equivalent to lzma_preset_lzma[1]
|
* LZMA_EASY_LZMA2_2 is equivalent to lzma_lzma_preset(2)
|
||||||
* and so on.
|
* and so on.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
LZMA_EASY_LZMA_2 = 2,
|
LZMA_EASY_LZMA2_2 = 2,
|
||||||
LZMA_EASY_LZMA_3 = 3,
|
LZMA_EASY_LZMA2_3 = 3,
|
||||||
LZMA_EASY_LZMA_4 = 4,
|
LZMA_EASY_LZMA2_4 = 4,
|
||||||
LZMA_EASY_LZMA_5 = 5,
|
LZMA_EASY_LZMA2_5 = 5,
|
||||||
LZMA_EASY_LZMA_6 = 6,
|
LZMA_EASY_LZMA2_6 = 6,
|
||||||
LZMA_EASY_LZMA_7 = 7,
|
LZMA_EASY_LZMA2_7 = 7,
|
||||||
LZMA_EASY_LZMA_8 = 8,
|
LZMA_EASY_LZMA2_8 = 8,
|
||||||
LZMA_EASY_LZMA_9 = 9,
|
LZMA_EASY_LZMA2_9 = 9,
|
||||||
} lzma_easy_level;
|
} lzma_easy_level;
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -394,7 +394,7 @@ typedef struct {
|
||||||
/**
|
/**
|
||||||
* \brief Set a compression level preset to lzma_options_lzma structure
|
* \brief Set a compression level preset to lzma_options_lzma structure
|
||||||
*
|
*
|
||||||
* level = 0 is the fastest and level = 8 is the slowest. These presets match
|
* level = 1 is the fastest and level = 9 is the slowest. These presets match
|
||||||
* the switches -1 .. -9 of the command line tool.
|
* the switches -1 .. -9 of the command line tool.
|
||||||
*
|
*
|
||||||
* The preset values are subject to changes between liblzma versions.
|
* The preset values are subject to changes between liblzma versions.
|
||||||
|
|
|
@ -53,9 +53,10 @@ lzma_lzma_preset(lzma_options_lzma *options, uint32_t level)
|
||||||
extern LZMA_API lzma_bool
|
extern LZMA_API lzma_bool
|
||||||
lzma_lzma_preset(lzma_options_lzma *options, uint32_t level)
|
lzma_lzma_preset(lzma_options_lzma *options, uint32_t level)
|
||||||
{
|
{
|
||||||
if (level >= 9)
|
if (level == 0 || level > 9)
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
|
--level;
|
||||||
memzero(options, sizeof(*options));
|
memzero(options, sizeof(*options));
|
||||||
|
|
||||||
static const uint8_t shift[9] = { 16, 20, 19, 20, 21, 22, 23, 24, 25 };
|
static const uint8_t shift[9] = { 16, 20, 19, 20, 21, 22, 23, 24, 25 };
|
||||||
|
|
|
@ -40,13 +40,13 @@ bool opt_keep_original = false;
|
||||||
bool opt_preserve_name = false;
|
bool opt_preserve_name = false;
|
||||||
|
|
||||||
lzma_check opt_check = LZMA_CHECK_CRC64;
|
lzma_check opt_check = LZMA_CHECK_CRC64;
|
||||||
lzma_filter opt_filters[8];
|
lzma_filter opt_filters[LZMA_BLOCK_FILTERS_MAX + 1];
|
||||||
|
|
||||||
// We don't modify or free() this, but we need to assign it in some
|
// We don't modify or free() this, but we need to assign it in some
|
||||||
// non-const pointers.
|
// non-const pointers.
|
||||||
const char *stdin_filename = "(stdin)";
|
const char *stdin_filename = "(stdin)";
|
||||||
|
|
||||||
static size_t preset_number = 7 - 1;
|
static size_t preset_number = 7;
|
||||||
static bool preset_default = true;
|
static bool preset_default = true;
|
||||||
static size_t filter_count = 0;
|
static size_t filter_count = 0;
|
||||||
|
|
||||||
|
@ -178,7 +178,7 @@ parse_real(int argc, char **argv)
|
||||||
|
|
||||||
case '1': case '2': case '3': case '4':
|
case '1': case '2': case '3': case '4':
|
||||||
case '5': case '6': case '7': case '8': case '9':
|
case '5': case '6': case '7': case '8': case '9':
|
||||||
preset_number = c - '1';
|
preset_number = c - '0';
|
||||||
preset_default = false;
|
preset_default = false;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
@ -502,7 +502,7 @@ set_compression_settings(void)
|
||||||
// setting is used.
|
// setting is used.
|
||||||
if (preset_default) {
|
if (preset_default) {
|
||||||
while (memory_usage > opt_memory) {
|
while (memory_usage > opt_memory) {
|
||||||
if (preset_number == 0) {
|
if (preset_number == 1) {
|
||||||
errmsg(V_ERROR, _("Memory usage limit is too "
|
errmsg(V_ERROR, _("Memory usage limit is too "
|
||||||
"small for any internal "
|
"small for any internal "
|
||||||
"filter preset"));
|
"filter preset"));
|
||||||
|
|
|
@ -55,7 +55,7 @@ extern enum tool_mode opt_mode;
|
||||||
extern enum format_type opt_format;
|
extern enum format_type opt_format;
|
||||||
|
|
||||||
extern lzma_check opt_check;
|
extern lzma_check opt_check;
|
||||||
extern lzma_filter opt_filters[8];
|
extern lzma_filter opt_filters[LZMA_BLOCK_FILTERS_MAX + 1];
|
||||||
|
|
||||||
extern const char *stdin_filename;
|
extern const char *stdin_filename;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue