Parser for filter-specific options. More...
#include "private.h"
Data Structures | |
struct | name_id_map |
struct | option_map |
Enumerations | |
enum | { OPT_DIST } |
enum | { OPT_START_OFFSET } |
enum | { OPT_PRESET, OPT_DICT, OPT_LC, OPT_LP, OPT_PB, OPT_MODE, OPT_NICE, OPT_MF, OPT_DEPTH } |
Functions | |
static void | parse_options (const char *str, const option_map *opts, void(*set)(void *filter_options, uint32_t key, uint64_t value, const char *valuestr), void *filter_options) |
static void | set_delta (void *options, uint32_t key, uint64_t value, const char *valuestr lzma_attribute((unused))) |
lzma_options_delta * | options_delta (const char *str) |
Parser for Delta options. | |
static void | set_bcj (void *options, uint32_t key, uint64_t value, const char *valuestr lzma_attribute((unused))) |
lzma_options_bcj * | options_bcj (const char *str) |
Parser for BCJ options. | |
static void | lzma_attribute ((noreturn)) |
static void | set_lzma (void *options, uint32_t key, uint64_t value, const char *valuestr) |
lzma_options_lzma * | options_lzma (const char *str) |
Parser for LZMA options. |
Parser for filter-specific options.
static void parse_options | ( | const char * | str, | |
const option_map * | opts, | |||
void(*)(void *filter_options, uint32_t key, uint64_t value, const char *valuestr) | set, | |||
void * | filter_options | |||
) | [static] |
Parses option=value pairs that are separated with colons, semicolons, or commas: opt=val:opt=val;opt=val,opt=val
Each option is a string, that is converted to an integer using the index where the option string is in the array.
Value can be
When parsing both option and value succeed, a filter-specific function is called, which should update the given value to filter-specific options structure.
str | String containing the options from the command line | |
opts | Filter-specific option map | |
set | Filter-specific function to update filter_options | |
filter_options | Pointer to filter-specific options structure |
References message_fatal(), str_to_uint64(), and xstrdup().
Referenced by options_bcj(), options_delta(), and options_lzma().
lzma_options_delta* options_delta | ( | const char * | str | ) |
Parser for Delta options.
References parse_options(), lzma_options_delta::type, and xmalloc.
lzma_options_bcj* options_bcj | ( | const char * | str | ) |
Parser for BCJ options.
References parse_options(), lzma_options_bcj::start_offset, and xmalloc.
lzma_options_lzma* options_lzma | ( | const char * | str | ) |
Parser for LZMA options.
References lzma_options_lzma::lc, lzma_options_lzma::lp, lzma_lzma_preset(), LZMA_MF_BT2, LZMA_MF_BT3, LZMA_MF_BT4, LZMA_MF_HC3, LZMA_MF_HC4, LZMA_MODE_FAST, LZMA_MODE_NORMAL, LZMA_PRESET_DEFAULT, message_bug(), message_fatal(), lzma_options_lzma::mf, lzma_options_lzma::nice_len, parse_options(), and xmalloc.