From 091f629dcc092b0014379111ed6811b45db57aa6 Mon Sep 17 00:00:00 2001 From: Ivan Yarcev Date: Wed, 11 Jun 2025 12:39:36 +0000 Subject: [PATCH 1/3] Fixes --- source/libublsettings-char.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/source/libublsettings-char.c b/source/libublsettings-char.c index a48deb7..070693c 100644 --- a/source/libublsettings-char.c +++ b/source/libublsettings-char.c @@ -642,7 +642,7 @@ int yon_char_find_last_symbol_before_length(char *string, char target, int lengt config_str yon_char_wrap_to_length(char *target, unsigned int length, int *size){ (*size)=0; - if (!yon_char_is_empty(target)&&strlen(target)>length){ + if (!yon_char_is_empty(target)&&strlen(target)>length&&strstr(target," ")){ config_str final = NULL; char *current = yon_char_new(target); for (;strlen(current)>length;){ @@ -656,7 +656,8 @@ config_str yon_char_wrap_to_length(char *target, unsigned int length, int *size) } return final; } - return NULL; + config_str ret_target = yon_char_parsed_new(size,target,NULL); + return ret_target; } int yon_ubl_check_root(){ -- 2.35.1 From af2c8d8c272db5db05ec25943d0d3a44a3c83e4f Mon Sep 17 00:00:00 2001 From: Ivan Yarcev Date: Wed, 18 Jun 2025 03:41:36 +0000 Subject: [PATCH 2/3] Added new functions --- source/libublsettings-char.c | 21 +++++++++++++++++++++ source/libublsettings-config.c | 20 ++++++++++++++++++++ source/libublsettings.h | 5 +++++ 3 files changed, 46 insertions(+) diff --git a/source/libublsettings-char.c b/source/libublsettings-char.c index 070693c..d4d1102 100644 --- a/source/libublsettings-char.c +++ b/source/libublsettings-char.c @@ -660,6 +660,27 @@ config_str yon_char_wrap_to_length(char *target, unsigned int length, int *size) return ret_target; } +char *yon_char_wrap_to_length_str(char *target, unsigned int length){ + int size=0; + if (!yon_char_is_empty(target)&&strlen(target)>length&&strstr(target," ")){ + config_str final = NULL; + char *current = yon_char_new(target); + for (;strlen(current)>length;){ + int last = yon_char_find_last_symbol_before_length(target,' ',length); + if (last>-1){ + char *parsed = yon_char_divide(current,last); + yon_char_parsed_add_or_create_if_exists(final,&size,parsed); + free(parsed); + } + + } + char *final_string = yon_char_parsed_to_string(final,size,"\n"); + yon_char_parsed_free(final,size); + return final_string; + } + return target; +} + int yon_ubl_check_root(){ if (getuid()==0) return 1; else return 0; diff --git a/source/libublsettings-config.c b/source/libublsettings-config.c index a58818b..81d92bf 100644 --- a/source/libublsettings-config.c +++ b/source/libublsettings-config.c @@ -306,6 +306,26 @@ char *yon_config_command_get_section(const char *command){ int size; config_str parsed = yon_char_parse((char*)command,&size," "); int section_pos = yon_config_command_get_section_pos(parsed,size); + if (section_pos==-1) return NULL; + char *section = yon_char_new(parsed[section_pos]); + yon_char_parsed_free(parsed,size); + return section; +} + +int yon_config_command_get_path_pos(config_str parsed, int size){ + for (int i=0;i Date: Thu, 19 Jun 2025 12:02:54 +0000 Subject: [PATCH 3/3] Fixed wrap to length last line deletion --- source/libublsettings-char.c | 1 + 1 file changed, 1 insertion(+) diff --git a/source/libublsettings-char.c b/source/libublsettings-char.c index d4d1102..c089815 100644 --- a/source/libublsettings-char.c +++ b/source/libublsettings-char.c @@ -674,6 +674,7 @@ char *yon_char_wrap_to_length_str(char *target, unsigned int length){ } } + yon_char_parsed_add_or_create_if_exists(final,&size,current); char *final_string = yon_char_parsed_to_string(final,size,"\n"); yon_char_parsed_free(final,size); return final_string; -- 2.35.1