From 2fb7f8d4901a1afde7a5b00ef11b733f8747a285 Mon Sep 17 00:00:00 2001 From: Ivan Dmitrievich Yartsev Date: Thu, 26 Mar 2026 14:45:45 +0600 Subject: [PATCH] Fixed wrapping of parameter names --- source/libublsettings-config.c | 25 +++++++++---------------- 1 file changed, 9 insertions(+), 16 deletions(-) diff --git a/source/libublsettings-config.c b/source/libublsettings-config.c index 3af21aa..60dfe34 100644 --- a/source/libublsettings-config.c +++ b/source/libublsettings-config.c @@ -1170,22 +1170,15 @@ char *yon_config_parameter_wrap(char *parameter_key){ if (!strstr(parameter_key,"[")) return yon_char_new(parameter_key); char *cur = NULL; int size; - config_str parsed = yon_char_parse(parameter_key,&size,"["); - char *temp = yon_char_append("\'",parsed[1]); - free(parsed[1]); - parsed[1] = temp; - char *half_wrapped = yon_char_parsed_to_string_full(parsed,size,"["); - yon_char_parsed_free(parsed,size); - parsed = yon_char_parse(half_wrapped,&size,"]"); - if (size>1) - temp = yon_char_append_c(parsed[size-2],'\''); - free(parsed[size-2]); - parsed[size-2] = temp; - - char *full_wrapped = yon_char_parsed_to_string_full(parsed,size,"]"); - free(half_wrapped); - yon_char_parsed_free(parsed,size); - return full_wrapped; + char *key = yon_config_parameter_get_key(parameter_key); + + char *temp = yon_char_new(parameter_key); + char *param = yon_char_divide_search(temp,"[",-1); + char *final = yon_char_unite(param,"['",key,"']",NULL); + free(temp); + free(key); + free(param); + return final; } char *yon_config_parameter_to_string(yon_config_parameter *parameter, int insert_section){