|
|
|
|
@ -630,6 +630,7 @@ int yon_config_append_element(char *key, char *append, char *divider){
|
|
|
|
|
int found = 0;
|
|
|
|
|
yon_config_parameter *dict = (yon_config_parameter*)yon_dictionary_get((dictionary**)&__yon__config__strings,key);
|
|
|
|
|
if (dict){
|
|
|
|
|
if (!yon_char_check_elements((char*)dict->data,append,divider)){
|
|
|
|
|
char *temp = yon_char_append_element((char*)dict->data,append,divider);
|
|
|
|
|
if (!yon_char_is_empty((char*)dict->data)) free(dict->data);
|
|
|
|
|
dict->data = temp;
|
|
|
|
|
@ -637,8 +638,10 @@ int yon_config_append_element(char *key, char *append, char *divider){
|
|
|
|
|
yon_config_remove_ignore(key);
|
|
|
|
|
return 1;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
} else return 0;
|
|
|
|
|
}
|
|
|
|
|
return 0;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
int yon_config_force_append_element(char *key, char *append, char *divider){
|
|
|
|
|
@ -743,11 +746,26 @@ void *yon_config_get_all_by_key(char *key, int *size){
|
|
|
|
|
dictionary *dict = NULL;
|
|
|
|
|
for_dictionaries(dict, (dictionary*)__yon__config__strings){
|
|
|
|
|
if (strstr(dict->key,key)&&((yon_config_parameter*)dict)->flag1!=-1) {
|
|
|
|
|
char *key_quoted = yon_config_parameter_set_quotes(dict->key);
|
|
|
|
|
char *ret_string = yon_char_unite(key_quoted,"=",(char*)dict->data,NULL);
|
|
|
|
|
char *ret_string = yon_char_unite(dict->key,"=",(char*)dict->data,NULL);
|
|
|
|
|
if (ret_data) ret_data = yon_char_parsed_append(ret_data,size,ret_string);
|
|
|
|
|
else ret_data = yon_char_parsed_new(size,ret_string,NULL);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
return ret_data;
|
|
|
|
|
}
|
|
|
|
|
return NULL;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void *yon_config_get_all_keys_by_key(char *key, int *size){
|
|
|
|
|
(*size)=0;
|
|
|
|
|
check_config{
|
|
|
|
|
config_str ret_data=NULL;
|
|
|
|
|
dictionary *dict = NULL;
|
|
|
|
|
for_dictionaries(dict, (dictionary*)__yon__config__strings){
|
|
|
|
|
if (strstr(dict->key,key)&&((yon_config_parameter*)dict)->flag1!=-1) {
|
|
|
|
|
char *ret_string = yon_char_new(dict->key);
|
|
|
|
|
if (ret_data) ret_data = yon_char_parsed_append(ret_data,size,ret_string);
|
|
|
|
|
else ret_data = yon_char_parsed_new(size,ret_string,NULL);
|
|
|
|
|
free(key_quoted);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
return ret_data;
|
|
|
|
|
@ -1052,6 +1070,7 @@ config_str yon_config_load_file(FILE *file, int *str_len) {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
char *yon_config_parameter_wrap(char *parameter_key){
|
|
|
|
|
if (!strstr(parameter_key,"[")) return yon_char_new(parameter_key);
|
|
|
|
|
char *cur = NULL;
|
|
|
|
|
int size;
|
|
|
|
|
config_str parsed = yon_char_parse(parameter_key,&size,"[");
|
|
|
|
|
@ -1061,6 +1080,7 @@ char *yon_config_parameter_wrap(char *parameter_key){
|
|
|
|
|
char *half_wrapped = yon_char_parsed_to_string_full(parsed,size,"[");
|
|
|
|
|
yon_char_parsed_free(parsed,size);
|
|
|
|
|
parsed = yon_char_parse(half_wrapped,&size,"]");
|
|
|
|
|
if (size>1)
|
|
|
|
|
temp = yon_char_append_c(parsed[size-2],'\'');
|
|
|
|
|
free(parsed[size-2]);
|
|
|
|
|
parsed[size-2] = temp;
|
|
|
|
|
@ -1075,7 +1095,7 @@ char *yon_config_parameter_to_string(yon_config_parameter *parameter, int insert
|
|
|
|
|
if (parameter){
|
|
|
|
|
char *param_string = NULL;
|
|
|
|
|
char *parameter_wrapped = yon_config_parameter_wrap(parameter->key);
|
|
|
|
|
param_string = yon_char_unite(insert_section?parameter->section:"",insert_section?" ":"", parameter_wrapped,parameter->flag1==-1?NULL:"","=\'",parameter->data,"\'",NULL);
|
|
|
|
|
param_string = yon_char_unite(insert_section?parameter->section:"",insert_section?" ":"", parameter_wrapped,parameter->flag1==-1?NULL:"","=\'",yon_char_return_if_exist(parameter->data,""),"\'",NULL);
|
|
|
|
|
return param_string;
|
|
|
|
|
}
|
|
|
|
|
return NULL;
|
|
|
|
|
|