aboutsummaryrefslogtreecommitdiff
path: root/src/survive_config.c
diff options
context:
space:
mode:
authorcnlohr <lohr85@gmail.com>2017-04-04 23:19:03 -0400
committercnlohr <lohr85@gmail.com>2017-04-04 23:19:03 -0400
commit5882e34cf7c6c9705ba0fd94cfb6e6072ceb8f63 (patch)
treeb975cc4276fa938b5295e4cc97f49142bf968a3f /src/survive_config.c
parented6f9dc1a9247581f13ecc6943823e04f0dcd4ca (diff)
parentc68aebf34e1342560a3f8f52cb65e72eb2fa7b54 (diff)
downloadlibsurvive-5882e34cf7c6c9705ba0fd94cfb6e6072ceb8f63.tar.gz
libsurvive-5882e34cf7c6c9705ba0fd94cfb6e6072ceb8f63.tar.bz2
Merge branch 'master' of https://github.com/cnlohr/libsurvive
Diffstat (limited to 'src/survive_config.c')
-rw-r--r--src/survive_config.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/survive_config.c b/src/survive_config.c
index 0810280..005cfaf 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;
@@ -357,9 +363,11 @@ void handle_tag_value(char* tag, char** values, uint8_t count) {
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]);