Added new function

pull/61/head
parent 103f283b8a
commit a66176a1d9
No known key found for this signature in database
GPG Key ID: FF1D842BF4DDE92B

@ -682,6 +682,20 @@ config_str yon_char_wrap_to_length(char *target, unsigned int length, int *size)
return ret_target;
}
char *yon_char_get_element(char *target, unsigned int position, char *divider){
if (!yon_char_is_empty(target)&&strstr(target,divider)){
int size;
char *final = NULL;
config_str parsed = yon_char_parse(target,&size,divider);
if (size>=position){
final = yon_char_new(parsed[position]);
}
yon_char_parsed_free(parsed,size);
return final;
}
return NULL;
}
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," ")){

@ -1122,7 +1122,7 @@ config_str yon_config_get_save_parameters_by_list(int *size, config_str paramete
}
}
if (!found){
if(removed){
if(removed&&temp){
int position = yon_char_parsed_find_element(removed,removed_size,((yon_config_parameter*)temp)->section);
if (position>=0){
char *string = yon_char_unite((removed)[position]," ",yon_config_parameter_to_string((yon_config_parameter*)temp,0),NULL);
@ -1148,10 +1148,10 @@ config_str yon_config_get_save_parameters_by_list(int *size, config_str paramete
return final;
}
config_str yon_config_get_save_parameters_by_key(int *size, char *parameter,...){
config_str yon_config_get_save_parameters_by_key(int *size,...){
va_list list;
(*size)=0;
va_start(list,parameter);
va_start(list,size);
int removed_size;
config_str removed = NULL;
int updated_size;
@ -1172,12 +1172,14 @@ config_str yon_config_get_save_parameters_by_key(int *size, char *parameter,...)
current = &removed;
current_size = &removed_size;
break;
case 0:
case 1:
action = "set";
current = &updated;
current_size = &updated_size;
break;
}
if (!current) continue;
int position = yon_char_parsed_find_element(*current,*current_size,((yon_config_parameter*)temp)->section);
if (position>=0){
char *string = yon_char_unite((*current)[position]," ",yon_config_parameter_to_string((yon_config_parameter*)temp,0),NULL);
@ -1196,6 +1198,21 @@ config_str yon_config_get_save_parameters_by_key(int *size, char *parameter,...)
return final;
}
config_str yon_config_find_keys(char *target, int *size){
(*size)=0;
check_config{
config_str final = NULL;
yon_config_parameter *cur = NULL;
for_dictionaries(cur,__yon__config__strings){
if (strstr(cur->key,target)){
yon_char_parsed_add_or_create_if_exists(final,size,cur->key);
}
}
return final;
}
return NULL;
}
config_str yon_config_get_save_parameters(int *size){
check_config{} else return NULL;
(*size)=0;

@ -815,7 +815,7 @@ config_str yon_config_get_load_parameters_by_list(int *size, config_str paramete
config_str yon_config_get_save_parameters_by_list(int *size, config_str parameters, int params_size);
config_str yon_config_get_save_parameters_by_key(int *size, char *parameter,...);
config_str yon_config_get_save_parameters_by_key(int *size, ...);
config_str yon_config_get_save_parameters(int *size);
@ -863,6 +863,8 @@ int yon_config_parse_parameter(char *parameter,char **key, char **value);
int yon_char_remove_brackets(char *string);
char *yon_char_get_element(char *target, unsigned int position, char *divider);
int yon_config_command_get_section_pos(const char *);
char *yon_config_command_get_section(const char *command);

Loading…
Cancel
Save