diff --git a/source/libublsettings-config.c b/source/libublsettings-config.c index 767f6dc..cc2328c 100644 --- a/source/libublsettings-config.c +++ b/source/libublsettings-config.c @@ -700,12 +700,14 @@ enum YON_CONFIG_SAVED_TYPE yon_config_register(char *key,char *config_load, char if (!current){ yon_config_parameter_add_or_create_if_exists_with_data(__yon__config__strings,key,data); current = (yon_config_parameter*)yon_dictionary_get_last((dictionary *)__yon__config__strings); - } else if (!yon_char_is_empty(data)&&!strcmp((char*)current->data,(char*)data)){ + } else if (!yon_char_is_empty(data)&¤t->data&&!strcmp((char*)current->data,(char*)data)){ save_type=YON_CONFIG_SAVED_EXIST; return save_type; + } else { + current->data = yon_char_new(data); } } else { - yon_config_parameter_add_or_create_if_exists_with_data(__yon__config__strings,key,data); + yon_config_parameter_add_or_create_if_exists_with_data(__yon__config__strings,key,NULL); current = __yon__config__strings; }