diff options
Diffstat (limited to 'config.c')
-rw-r--r-- | config.c | 8 |
1 files changed, 4 insertions, 4 deletions
@@ -77,10 +77,10 @@ config_val parse_option_value(const config_opt *opt, char *value) { config_val val = {0}; switch (opt->type) { - case TYPE_INT : val.i = strtol(value, NULL, 0); break; + case TYPE_INT : + case TYPE_BOOL : val.i = strtol(value, NULL, 0); break; case TYPE_STRING: val.str = value; break; case TYPE_FLOAT : val.f = strtof(value, NULL); break; - case TYPE_BOOL : val.b = strtol(value, NULL, 0); break; default : break; } @@ -90,10 +90,10 @@ config_val parse_option_value(const config_opt *opt, char *value) { void set_config_opt(config *conf, config_type type, size_t offset, config_val val) { char *cfg = (char *)conf; switch (type) { - case TYPE_INT : *(int *)(cfg+offset) = val.i; break; + case TYPE_INT : + case TYPE_BOOL : *(int *)(cfg+offset) = val.i; break; case TYPE_STRING: *(char **)(cfg+offset) = val.str; break; case TYPE_FLOAT : *(float *)(cfg+offset) = val.f; break; - case TYPE_BOOL : *(int *)(cfg+offset) = val.b; break; default : break; } } |