Merge pull request 'master' (#55) from YanTheKaller/libublsettings:master into master

Reviewed-on: #55
master v1.50
Dmitry Razumov 4 months ago
commit 176dacde18

@ -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){
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;
if (!yon_char_is_empty(target)&&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;i<line_count;i++){
char *final_str = NULL;
for (int j=0;j<(int)line_spaces+left?1:0;j++){
if (processed>spaces+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)
@ -700,9 +680,17 @@ char *yon_char_wrap_to_length_str(char *target, unsigned int length){
char *parsed = yon_char_divide(current,last);
yon_char_parsed_add_or_create_if_exists(final,&size,parsed);
free(parsed);
}else {
char *next_space = strstr(current," ");
if (next_space) {
last = strlen(current)-strlen(next_space);
char *parsed = yon_char_divide(current,last);
yon_char_parsed_add_or_create_if_exists(final,&size,parsed);
free(parsed);
} else {
break;
}
}
}
yon_char_parsed_add_or_create_if_exists(final,&size,current);

Loading…
Cancel
Save