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){
(*final_size)=0;
if (!yon_char_is_empty(target)&&line_count){ if (!yon_char_is_empty(target)&&line_count){
(*final_size)=0; unsigned int size = strlen(target);
unsigned int spaces = yon_char_count(target," "); unsigned int line_size = ((unsigned int)size/line_count)+1;
float line_spaces = (float)spaces/line_count;
float left = spaces%line_count;
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) char *yon_char_divide(char *source, int dividepos)
@ -701,7 +681,15 @@ char *yon_char_wrap_to_length_str(char *target, unsigned int length){
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 { }else {
break; 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;
}
} }
} }

Loading…
Cancel
Save