From ca7eb41917f544a6c01a6470c2484b4591270264 Mon Sep 17 00:00:00 2001 From: Ivan Yarcev Date: Wed, 31 Jan 2024 13:54:49 +0600 Subject: [PATCH] Test fix for saving --- source/libublsettings.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/source/libublsettings.c b/source/libublsettings.c index 1c2bf12..90b0b3c 100644 --- a/source/libublsettings.c +++ b/source/libublsettings.c @@ -1295,16 +1295,18 @@ int yon_config_save_registered(char *path){ dictionary *sections_remove=NULL; for_dictionaries(dct,(dictionary*)__yon__config__strings){ if (((yon_config_parameter*)dct)->flag1==1){ - if (dct->data&&strcmp(yon_dictionary_get_data(dct,char*),"")!=0){ + if (dct->data&&!yon_char_is_empty(yon_dictionary_get_data(dct,char*))){ ((yon_config_parameter*)dct)->flag1=0; if (sections_add&&yon_dictionary_get(§ions_add,((yon_config_parameter*)dct)->section)) sections_add->data=(void*)yon_char_unite(yon_dictionary_get_data(sections_add,char*)," ",dct->key,"=\"",yon_dictionary_get_data(dct,char*),"\"",NULL); else yon_dictionary_add_or_create_if_exists_with_data(sections_add,((yon_config_parameter*)dct)->section,yon_char_unite (ubconfig_save_command,path ? yon_char_append(" --target ",path):"", " set ", ((yon_config_parameter*)dct)->section, " ",dct->key,"=\"",yon_dictionary_get_data(dct,char*),"\"",NULL)); } } else if (((yon_config_parameter*)dct)->flag1==-1){ - ((yon_config_parameter*)dct)->flag1=0; - if (sections_remove&&yon_dictionary_get(§ions_remove,((yon_config_parameter*)dct)->section)) sections_remove->data=(void*)yon_char_unite(yon_dictionary_get_data(sections_remove,char*)," ",dct->key,NULL); - else yon_dictionary_add_or_create_if_exists_with_data(sections_remove,((yon_config_parameter*)dct)->section,yon_char_unite (ubconfig_save_command,path ? yon_char_append(" --target ",path):"", " remove ", ((yon_config_parameter*)dct)->section, " ",dct->key,NULL)); - yon_dictionary_rip(dct); + if (dct->data&&!yon_char_is_empty(yon_dictionary_get_data(dct,char*))){ + ((yon_config_parameter*)dct)->flag1=0; + if (sections_remove&&yon_dictionary_get(§ions_remove,((yon_config_parameter*)dct)->section)) sections_remove->data=(void*)yon_char_unite(yon_dictionary_get_data(sections_remove,char*)," ",dct->key,NULL); + else yon_dictionary_add_or_create_if_exists_with_data(sections_remove,((yon_config_parameter*)dct)->section,yon_char_unite (ubconfig_save_command,path ? yon_char_append(" --target ",path):"", " remove ", ((yon_config_parameter*)dct)->section, " ",dct->key,NULL)); + yon_dictionary_rip(dct); + } } } if (sections_add)