From cbb6911410e6e0c1c3be1a5fb0be40d88fba9187 Mon Sep 17 00:00:00 2001 From: Ivan Yarcev Date: Tue, 8 Jul 2025 11:05:40 +0600 Subject: [PATCH] Fixed string to lines wrapping --- source/libublsettings-char.c | 32 ++++++-------------------------- 1 file changed, 6 insertions(+), 26 deletions(-) diff --git a/source/libublsettings-char.c b/source/libublsettings-char.c index 95efc05..261a0cc 100644 --- a/source/libublsettings-char.c +++ b/source/libublsettings-char.c @@ -131,36 +131,16 @@ char *yon_char_parsed_check_exist_begins_with(char **target, int size, char *com } config_str yon_char_wrap_to_lines(char *target, unsigned int line_count, unsigned int *final_size){ + (*final_size)=0; if (!yon_char_is_empty(target)&&line_count){ - (*final_size)=0; - unsigned int spaces = yon_char_count(target," "); - float line_spaces = (float)spaces/line_count; - float left = spaces%line_count; + unsigned int size = strlen(target); + unsigned int line_size = ((unsigned int)size/line_count)+1; - int processed=0; + char *final = yon_char_wrap_to_length_str(target,line_size); + return yon_char_parse(final,final_size,"\n"); - int size; - config_str parsed = yon_char_parse(target,&size," "); - config_str final = NULL; - for (int i=0;ispaces+1) break; - if (final_str){ - char *temp = yon_char_unite(final_str," ",parsed[processed],NULL); - free(final_str); - final_str = temp; - } else { - final_str = parsed[processed]; - } - processed++; - } - if (left) left--; - yon_char_parsed_add_or_create_if_exists(final,final_size,final_str); - } - return final; } - else return NULL; + return NULL; } char *yon_char_divide(char *source, int dividepos)