aboutsummaryrefslogtreecommitdiff
path: root/src/survive_config.c
diff options
context:
space:
mode:
authorultramn <dchapm2@umbc.edu>2017-05-14 18:54:49 -0700
committerultramn <dchapm2@umbc.edu>2017-05-14 18:54:49 -0700
commit0d83014f61489522b9b55f3966eaf4c9578a14e5 (patch)
tree65e36dddc8b212250c84fb0a159bb3bc97838152 /src/survive_config.c
parent006af3f9b168fcde6892a22ae914b5b55634b2ca (diff)
parent2e8bf907f46bcb98b3b482e957b98c52cacb6a4b (diff)
downloadlibsurvive-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.c15
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]);