diff options
author | ultramn <dchapm2@umbc.edu> | 2017-05-14 18:54:49 -0700 |
---|---|---|
committer | ultramn <dchapm2@umbc.edu> | 2017-05-14 18:54:49 -0700 |
commit | 0d83014f61489522b9b55f3966eaf4c9578a14e5 (patch) | |
tree | 65e36dddc8b212250c84fb0a159bb3bc97838152 /src/survive_config.c | |
parent | 006af3f9b168fcde6892a22ae914b5b55634b2ca (diff) | |
parent | 2e8bf907f46bcb98b3b482e957b98c52cacb6a4b (diff) | |
download | libsurvive-0d83014f61489522b9b55f3966eaf4c9578a14e5.tar.gz libsurvive-0d83014f61489522b9b55f3966eaf4c9578a14e5.tar.bz2 |
Merge branch 'master' of https://github.com/cnlohr/libsurvive
Diffstat (limited to 'src/survive_config.c')
-rw-r--r-- | src/survive_config.c | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/src/survive_config.c b/src/survive_config.c index 0810280..3a83902 100644 --- a/src/survive_config.c +++ b/src/survive_config.c @@ -175,7 +175,13 @@ const char* config_set_str(config_group *cg, const char *tag, const char* value) if (cv == NULL) cv = next_unused_entry(cg); sstrcpy(&(cv->tag), tag); - sstrcpy(&(cv->data), value); + + if (NULL != value){ + sstrcpy(&(cv->data), value); + } + else { + sstrcpy(&(cv->data), ""); + } cv->type = CONFIG_STRING; return value; @@ -354,12 +360,17 @@ int parse_uint32(char* tag, char** values, uint16_t count) { } void handle_tag_value(char* tag, char** values, uint8_t count) { - print_json_value(tag,values,count); + + //Uncomment for more debugging of input configuration. + //print_json_value(tag,values,count); + config_group* cg = cg_stack[cg_stack_head]; + if (NULL != *values){ if (parse_uint32(tag,values,count) > 0) return; //parse integers first, stricter rules if (parse_floats(tag,values,count) > 0) return; + } //should probably also handle string arrays config_set_str(cg,tag,values[0]); |