From 799fceed2aca47a035a10767c53a3267cde0d346 Mon Sep 17 00:00:00 2001 From: Ivan Yarcev Date: Fri, 2 Feb 2024 17:09:00 +0600 Subject: [PATCH 1/6] Fixed appending parameter with additional divider --- source/libublsettings.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/libublsettings.c b/source/libublsettings.c index 19c1e28..c9ded3f 100644 --- a/source/libublsettings.c +++ b/source/libublsettings.c @@ -1235,7 +1235,7 @@ int yon_config_append(char *key, char *data, char *divider){ if (dict){ if (strcmp(((char*)dict->data),"")!=0){ char *str = (char*)dict->data; - dict->data=(void*)(yon_char_unite(yon_char_is_empty(str)?"":str,yon_char_is_empty(str)?"":",",divider,data,NULL)); + dict->data=(void*)(yon_char_unite(yon_char_is_empty(str)?"":str,yon_char_is_empty(str)?"":divider,data,NULL)); } else dict->data=(void*)yon_char_new(data); dict->flag1=1; From 8008e71f6f0e4ed3057673ccaa98dbe4f618e162 Mon Sep 17 00:00:00 2001 From: Ivan Yarcev Date: Wed, 7 Feb 2024 12:12:42 +0600 Subject: [PATCH 2/6] Parameter loading fix --- source/libublsettings.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/source/libublsettings.c b/source/libublsettings.c index c9ded3f..6eb0a67 100644 --- a/source/libublsettings.c +++ b/source/libublsettings.c @@ -884,7 +884,8 @@ yon_config_parameter *yon_config_parameter_new_with_data(char *key, void *data){ yon_config_parameter *yon_config_parameter_append_with_data(yon_config_parameter *dict, char *key, void *data){ yon_config_parameter *param = yon_config_parameter_new_with_data(key,data); param->first=dict->first; - (param->prev)=(yon_config_parameter*)yon_dictionary_get_last((dictionary*)dict); + dict = (yon_config_parameter*)yon_dictionary_get_last((dictionary*)dict); + (param->prev)=dict; dict->next=param; return param; } @@ -966,11 +967,11 @@ int yon_config_load_register_no_cleaning(YON_CONFIG_TYPE config_type,char *secti free(yon_char_divide(final_str,0)); } - - if (!yon_dictionary_get((dictionary**)&__yon__config__strings,key)){ + dictionary *dicte = yon_dictionary_get((dictionary**)&__yon__config__strings,key); + if (!dicte){ yon_config_parameter_add_or_create_if_exists_with_data(__yon__config__strings,key,yon_char_new(final_str)); } else { - if (strcmp((char*)__yon__config__strings->data,final_str)){ + if (strcmp((char*)dicte->data,final_str)){ __yon__config__strings->data=final_str; } else { continue; From 1a8308824b0c078d15a0c1718d03e56806e84cf1 Mon Sep 17 00:00:00 2001 From: Ivan Yarcev Date: Wed, 7 Feb 2024 12:13:12 +0600 Subject: [PATCH 3/6] Parameter loading fix --- source/libublsettings.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/source/libublsettings.c b/source/libublsettings.c index 6eb0a67..2660090 100644 --- a/source/libublsettings.c +++ b/source/libublsettings.c @@ -1030,7 +1030,8 @@ int yon_config_load_register(YON_CONFIG_TYPE config_type,char *section,char *par free(yon_char_divide(final_str,0)); } - if (!yon_dictionary_get((dictionary**)&__yon__config__strings,key)){ + dictionary *dicte = yon_dictionary_get((dictionary**)&__yon__config__strings,key); + if (!dicte){ yon_config_parameter_add_or_create_if_exists_with_data(__yon__config__strings,key,yon_char_new(final_str)); } else { if (strcmp((char*)__yon__config__strings->data,final_str)){ From 448739892a39b442c6a5c67b1d45152a273f219f Mon Sep 17 00:00:00 2001 From: Ivan Yarcev Date: Fri, 9 Feb 2024 16:10:16 +0600 Subject: [PATCH 4/6] Added new function --- source/libublsettings.c | 4 ++-- source/libublsettings.h | 4 +++- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/source/libublsettings.c b/source/libublsettings.c index 2660090..79cc141 100644 --- a/source/libublsettings.c +++ b/source/libublsettings.c @@ -1072,7 +1072,7 @@ int yon_config_remove_by_key(char *key){ return 0; } -int yon_config_remove_element(char *key, char *delete, char *divider){ +int yon_config_remove_element(char *key, char *delete_target, char *divider){ check_config{ int found = 0; yon_config_parameter *dict = (yon_config_parameter*)yon_dictionary_get((dictionary**)&__yon__config__strings,key); @@ -1081,7 +1081,7 @@ int yon_config_remove_element(char *key, char *delete, char *divider){ config_str parsed = yon_char_parse((char*)dict->data,&size,divider); config_str final = NULL; for(int i=0;i Date: Mon, 12 Feb 2024 11:38:21 +0600 Subject: [PATCH 5/6] Ubconfig output returned --- source/libublsettings.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/libublsettings.h b/source/libublsettings.h index c404b97..d18fd13 100644 --- a/source/libublsettings.h +++ b/source/libublsettings.h @@ -594,8 +594,8 @@ config_str yon_dir_get_contents(char *dir_path, int *size); //config functions -#define ubconfig_save_command "ubconfig --quiet" -#define ubconfig_load_command "ubconfig --quiet --source" +#define ubconfig_save_command "ubconfig " +#define ubconfig_load_command "ubconfig --source" /** * Типы конфигураций ubconfig-а From 790edce6f7b7d3116ee3f6d173de670d32eff219 Mon Sep 17 00:00:00 2001 From: Ivan Yarcev Date: Mon, 12 Feb 2024 14:49:50 +0600 Subject: [PATCH 6/6] Saving fixes --- source/libublsettings.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/source/libublsettings.c b/source/libublsettings.c index 79cc141..b314d5d 100644 --- a/source/libublsettings.c +++ b/source/libublsettings.c @@ -977,6 +977,7 @@ int yon_config_load_register_no_cleaning(YON_CONFIG_TYPE config_type,char *secti continue; } } + __yon__config__strings->flag1=0; yon_config_remove_ignore(key); if (config_type==YON_CONFIG_DEFAULT){ __yon__config__strings->flag1=-2; @@ -1040,6 +1041,7 @@ int yon_config_load_register(YON_CONFIG_TYPE config_type,char *section,char *par continue; } } + __yon__config__strings->flag1=0; yon_config_remove_ignore(key); if (config_type==YON_CONFIG_DEFAULT){ __yon__config__strings->flag1=-2;