From b5c0d713a664a45cbf202e319f0e61d15b2e7bd4 Mon Sep 17 00:00:00 2001 From: Ivan Yarcev Date: Tue, 12 Aug 2025 14:10:06 +0600 Subject: [PATCH] Saving fixes --- source/libublsettingsui-gtk3-save.c | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/source/libublsettingsui-gtk3-save.c b/source/libublsettingsui-gtk3-save.c index ab6ad05..140e354 100644 --- a/source/libublsettingsui-gtk3-save.c +++ b/source/libublsettingsui-gtk3-save.c @@ -105,6 +105,7 @@ config_str yon_loaded_config_convert_to_save_command(struct loaded_config *targe } free(current->data); cur_section->data = parameters_for_current_command; + printf("%s\n",parameters_for_current_command); } else { char *parameters_for_current_command = NULL; if (yon_config_get_status(current->key)==-1){ @@ -115,6 +116,7 @@ config_str yon_loaded_config_convert_to_save_command(struct loaded_config *targe dictionary *sections_dict = NULL; if (sections) sections_dict = yon_dictionary_get_last((dictionary*)sections); sections = malloc(sizeof(struct yon_temp_command_sections)); + printf("%s\n",parameters_for_current_command); sections->data=parameters_for_current_command; sections->first=sections; sections->key=yon_char_new(current->section); @@ -143,6 +145,7 @@ config_str yon_loaded_config_convert_to_save_command(struct loaded_config *targe dull_command = ubconfig_remove_command_full(path,current->key,(char*)current->data); } yon_char_parsed_add_or_create_if_exists(commands,size,dull_command); + printf("%s\n",dull_command); free(dull_command); } } @@ -366,9 +369,17 @@ void yon_save_window_compared_config_init_unfound(template_saving_window *window int yon_config_parameter_prepare_elements(config_str target, int *size){ int success = 0; for (int i=0;i<(*size);i++){ - char *start_bracket_replaced_string = yon_char_replace(target[i],"[","[\""); + int parameters_size; + config_str parameters = yon_config_command_get_parameters(target[i],¶meters_size); + char *parameters_string = yon_char_parsed_to_string(parameters,parameters_size," "); + char *start_bracket_replaced_string = yon_char_replace(parameters_string,"[","[\""); char *end_bracket_replaced_string = yon_char_replace(start_bracket_replaced_string,"]","\"]"); - target[i] = end_bracket_replaced_string; + char *temp = yon_config_parameter_prepare_command(target[i],NULL,NULL,end_bracket_replaced_string); + if (!yon_char_is_empty(target[i])) free(target[i]); + target[i] = temp; + yon_char_parsed_free(parameters,parameters_size); + free(parameters_string); + free(start_bracket_replaced_string); } return success; }