From f72f518735c43116604288828a64ce3fb789c6ac Mon Sep 17 00:00:00 2001 From: Ivan Yarcev Date: Fri, 12 Sep 2025 18:36:42 +0600 Subject: [PATCH] Fixes --- source/libublsettings-char.c | 9 +++++++-- source/libublsettings-config.c | 3 +++ 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/source/libublsettings-char.c b/source/libublsettings-char.c index e9d6c50..ffabdb3 100644 --- a/source/libublsettings-char.c +++ b/source/libublsettings-char.c @@ -297,7 +297,7 @@ char *yon_char_replace_single(char *source, char *find, char *replace){ return NULL; } -char **yon_char_parse(const char *parameters, int *size, char *divider){ +char **yon_char_parse(const char * parameters, int *size, char * divider){ *size=0; if (parameters&&!yon_char_is_empty(divider)){ char **string=NULL; @@ -305,7 +305,12 @@ char **yon_char_parse(const char *parameters, int *size, char *divider){ char *param = strstr(paramline,divider); for (;param;param=strstr(paramline,divider)){ string = yon_remalloc(string,sizeof(char*)*((*size)+1)); - string[(*size)]=yon_char_divide(paramline,strlen(paramline)-strlen(param)); + int cur_size = strlen(paramline)-strlen(param); + string[(*size)] = malloc(cur_size+1); + memset(string[(*size)],0,cur_size+1); + memcpy(string[(*size)],paramline,cur_size); + memcpy(paramline,paramline+strlen(string[(*size)])+strlen(divider),strlen(param)); + // string[(*size)]=yon_char_divide(paramline,strlen(paramline)-strlen(param)); *size=(*size)+1; } string = yon_remalloc(string,sizeof(char*)*((*size)+1)); diff --git a/source/libublsettings-config.c b/source/libublsettings-config.c index 3089c10..20e4929 100644 --- a/source/libublsettings-config.c +++ b/source/libublsettings-config.c @@ -320,6 +320,9 @@ char *yon_config_command_get_full(config_str command, int command_size){ } if (final_size>0){ char *final_command = yon_char_parsed_to_string(final,final_size," -- get "); + char *temp = yon_char_replace(final_command,"ubconfig","ubconfig -ea"); + free(final_command); + final_command = temp; yon_char_parsed_free(final,final_size); return final_command; }