master #55

Merged
asmeron merged 2 commits from YanTheKaller/libublsettings:master into master 4 months ago

@ -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){ 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; (*final_size)=0;
unsigned int spaces = yon_char_count(target," "); if (!yon_char_is_empty(target)&&line_count){
float line_spaces = (float)spaces/line_count; unsigned int size = strlen(target);
float left = spaces%line_count; 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--; return NULL;
yon_char_parsed_add_or_create_if_exists(final,final_size,final_str);
}
return final;
}
else return NULL;
} }
char *yon_char_divide(char *source, int dividepos) 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); char *parsed = yon_char_divide(current,last);
yon_char_parsed_add_or_create_if_exists(final,&size,parsed); yon_char_parsed_add_or_create_if_exists(final,&size,parsed);
free(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 { } else {
break; break;
} }
}
} }
yon_char_parsed_add_or_create_if_exists(final,&size,current); yon_char_parsed_add_or_create_if_exists(final,&size,current);

Loading…
Cancel
Save