aboutsummaryrefslogtreecommitdiff
path: root/src/survive_config.c
diff options
context:
space:
mode:
authormwturvey <michael.w.turvey@intel.com>2017-03-23 12:13:44 -0700
committermwturvey <michael.w.turvey@intel.com>2017-03-23 12:13:44 -0700
commitf33018188bf5bdf6f6b8af0d646e3f8c519d9d71 (patch)
treeb94e358bcf65076fb533cd26efdc95fe21753102 /src/survive_config.c
parent78b7b6fb520c287caecbe895501898ef5c1440a5 (diff)
downloadlibsurvive-f33018188bf5bdf6f6b8af0d646e3f8c519d9d71.tar.gz
libsurvive-f33018188bf5bdf6f6b8af0d646e3f8c519d9d71.tar.bz2
Added support for empty string in config.json & other cleanup.
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]);