mirror of
https://github.com/mpv-player/mpv
synced 2024-12-24 15:52:25 +00:00
Get rid of the "set" member of the subopt-parser struct, it made
it impossible to make the those struct variables const. Also it is not really useful, and wastes space. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28862 b3059339-0415-0410-9bf9-f77b7e298cf2
This commit is contained in:
parent
6cf4aafa36
commit
7e253f0171
@ -45,18 +45,11 @@ static char const * parse_float( char const * const str, float * const valp );
|
|||||||
* else a non-zero value is returned.
|
* else a non-zero value is returned.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
int subopt_parse( char const * const str, opt_t * opts )
|
int subopt_parse( char const * const str, const opt_t * opts )
|
||||||
{
|
{
|
||||||
int parse_err = 0, idx;
|
int parse_err = 0, idx;
|
||||||
unsigned int parse_pos = 0;
|
unsigned int parse_pos = 0;
|
||||||
|
|
||||||
/* Initialize set member to false. *
|
|
||||||
* It is set to true if it was found in str */
|
|
||||||
for ( idx=0; opts[idx].name; ++idx )
|
|
||||||
{
|
|
||||||
opts[idx].set = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ( str )
|
if ( str )
|
||||||
{
|
{
|
||||||
while ( str[parse_pos] && !parse_err )
|
while ( str[parse_pos] && !parse_err )
|
||||||
@ -101,7 +94,7 @@ int subopt_parse( char const * const str, opt_t * opts )
|
|||||||
if( strncmp( &str[parse_pos], opts[idx].name, opt_len ) == 0 )
|
if( strncmp( &str[parse_pos], opts[idx].name, opt_len ) == 0 )
|
||||||
{
|
{
|
||||||
/* option was found */
|
/* option was found */
|
||||||
opts[idx].set = 1; next = 1;
|
next = 1;
|
||||||
|
|
||||||
assert( opts[idx].valp && "Need a pointer to store the arg!" );
|
assert( opts[idx].valp && "Need a pointer to store the arg!" );
|
||||||
|
|
||||||
@ -196,7 +189,7 @@ else if ( substr_len == opt_len+2 )
|
|||||||
strncmp( &str[parse_pos+2], opts[idx].name, opt_len ) == 0 )
|
strncmp( &str[parse_pos+2], opts[idx].name, opt_len ) == 0 )
|
||||||
{
|
{
|
||||||
/* option was found but negated */
|
/* option was found but negated */
|
||||||
opts[idx].set = 1; next = 1;
|
next = 1;
|
||||||
|
|
||||||
/* set arg to false */
|
/* set arg to false */
|
||||||
*((int *)(opts[idx].valp)) = 0;
|
*((int *)(opts[idx].valp)) = 0;
|
||||||
|
@ -24,13 +24,10 @@ typedef struct opt_s
|
|||||||
int type; ///< option type as defined in subopt-helper.h
|
int type; ///< option type as defined in subopt-helper.h
|
||||||
void * valp; ///< pointer to the mem where the value should be stored
|
void * valp; ///< pointer to the mem where the value should be stored
|
||||||
opt_test_f test; ///< argument test func ( optional )
|
opt_test_f test; ///< argument test func ( optional )
|
||||||
int set; ///< Is set internally by the parser if the option was found.
|
|
||||||
///< Don't use it at initialization of your opts, it will be
|
|
||||||
///< overriden anyway!
|
|
||||||
} opt_t;
|
} opt_t;
|
||||||
|
|
||||||
/** parses the string for the options specified in opt */
|
/** parses the string for the options specified in opt */
|
||||||
int subopt_parse( char const * const str, opt_t * opts );
|
int subopt_parse( char const * const str, const opt_t * opts );
|
||||||
|
|
||||||
|
|
||||||
/*------------------ arg specific types and declaration -------------------*/
|
/*------------------ arg specific types and declaration -------------------*/
|
||||||
|
Loading…
Reference in New Issue
Block a user