# HG changeset patch # User reimar # Date 1236372062 0 # Node ID 2b021e3e1000c59262817e88e93be43e5f21f0c5 # Parent a72ddec9b02775e06c1c83627675f352597dba46 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. diff -r a72ddec9b027 -r 2b021e3e1000 subopt-helper.c --- a/subopt-helper.c Fri Mar 06 20:20:12 2009 +0000 +++ b/subopt-helper.c Fri Mar 06 20:41:02 2009 +0000 @@ -45,18 +45,11 @@ * 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; 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 ) { while ( str[parse_pos] && !parse_err ) @@ -101,7 +94,7 @@ if( strncmp( &str[parse_pos], opts[idx].name, opt_len ) == 0 ) { /* option was found */ - opts[idx].set = 1; next = 1; + next = 1; assert( opts[idx].valp && "Need a pointer to store the arg!" ); @@ -196,7 +189,7 @@ strncmp( &str[parse_pos+2], opts[idx].name, opt_len ) == 0 ) { /* option was found but negated */ - opts[idx].set = 1; next = 1; + next = 1; /* set arg to false */ *((int *)(opts[idx].valp)) = 0; diff -r a72ddec9b027 -r 2b021e3e1000 subopt-helper.h --- a/subopt-helper.h Fri Mar 06 20:20:12 2009 +0000 +++ b/subopt-helper.h Fri Mar 06 20:41:02 2009 +0000 @@ -24,13 +24,10 @@ int type; ///< option type as defined in subopt-helper.h void * valp; ///< pointer to the mem where the value should be stored 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; /** 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 -------------------*/