diff options
author | Wilmer van der Gaast <wilmer@gaast.net> | 2006-07-01 17:52:05 +0200 |
---|---|---|
committer | Wilmer van der Gaast <wilmer@gaast.net> | 2006-07-01 17:52:05 +0200 |
commit | 5100caa16bb707d89f1873aca99b5f87abc1dd56 (patch) | |
tree | cb07ef3e313f9d6f4f5feb2231176c5e9a2a7a2a /set.c | |
parent | 0a3c243b6659dc10efb227e507f324c2711d6dcd (diff) |
Added "account set" command.
Diffstat (limited to 'set.c')
-rw-r--r-- | set.c | 18 |
1 files changed, 12 insertions, 6 deletions
@@ -100,6 +100,16 @@ int set_getint( set_t **head, char *key ) return i; } +int set_getbool( set_t **head, char *key ) +{ + char *s = set_getstr( head, key ); + + if( !s ) + return 0; + + return bool2int( s ); +} + int set_setstr( set_t **head, char *key, char *value ) { set_t *s = set_find( head, key ); @@ -165,7 +175,7 @@ char *set_eval_int( set_t *set, char *value ) char *s; for( s = value; *s; s ++ ) - if( *s < '0' || *s > '9' ) + if( !isdigit( *s ) ) return NULL; return value; @@ -173,11 +183,7 @@ char *set_eval_int( set_t *set, char *value ) char *set_eval_bool( set_t *set, char *value ) { - if( ( g_strcasecmp( value, "true" ) == 0 ) || ( g_strcasecmp( value, "yes" ) == 0 ) || ( g_strcasecmp( value, "on" ) == 0 ) ) - return( value ); - if( ( g_strcasecmp( value, "false" ) == 0 ) || ( g_strcasecmp( value, "no" ) == 0 ) || ( g_strcasecmp( value, "off" ) == 0 ) ) - return( value ); - return( set_eval_int( set, value ) ); + return is_bool( value ) ? value : NULL; } char *set_eval_to_char( set_t *set, char *value ) |