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.
 1.7.1