|
|
|
|
@ -331,6 +331,15 @@ char *yon_config_command_get_path(const char *command){
|
|
|
|
|
return section;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
char *config_last_load_command = NULL;
|
|
|
|
|
|
|
|
|
|
char *yon_config_get_last_command(){
|
|
|
|
|
return(config_last_load_command);
|
|
|
|
|
}
|
|
|
|
|
void yon_config_set_last_command(char *command){
|
|
|
|
|
config_last_load_command=yon_char_new(command);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
int yon_config_load_config(YON_CONFIG_TYPE config_type, ...){
|
|
|
|
|
if (config_type!=YON_CONFIG_BOTH){
|
|
|
|
|
va_list args;
|
|
|
|
|
@ -341,6 +350,7 @@ int yon_config_load_config(YON_CONFIG_TYPE config_type, ...){
|
|
|
|
|
while ((current=va_arg(args,char*))){
|
|
|
|
|
yon_config_command_prepare(&command,&command_size,current);
|
|
|
|
|
}
|
|
|
|
|
yon_config_set_last_command(yon_char_parsed_to_string(command,command_size,";"));
|
|
|
|
|
for (int i=0;i<command_size;i++){
|
|
|
|
|
int parsed_size;
|
|
|
|
|
config_str parsed = yon_config_load(command[i],&parsed_size);
|
|
|
|
|
@ -369,6 +379,7 @@ int yon_config_load_config(YON_CONFIG_TYPE config_type, ...){
|
|
|
|
|
yon_config_set_status(key,-2);
|
|
|
|
|
} else {
|
|
|
|
|
yon_config_default_remove(key);
|
|
|
|
|
yon_config_set_status(key,0);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
@ -735,9 +746,9 @@ enum YON_CONFIG_SAVED_TYPE yon_config_register(char *key,char *config_load, char
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
switch(current->flag1){
|
|
|
|
|
case -1: save_type = YON_CONFIG_SAVED_REMOVED;
|
|
|
|
|
case 1: save_type = YON_CONFIG_SAVED_CHANGED;
|
|
|
|
|
default: save_type = YON_CONFIG_SAVED_NEW;
|
|
|
|
|
case -1: save_type = YON_CONFIG_SAVED_REMOVED; break;
|
|
|
|
|
case 1: save_type = YON_CONFIG_SAVED_CHANGED; break;
|
|
|
|
|
default: save_type = YON_CONFIG_SAVED_NEW; break;
|
|
|
|
|
}
|
|
|
|
|
config_load = yon_char_new(config_load);
|
|
|
|
|
|
|
|
|
|
@ -1221,6 +1232,24 @@ config_str yon_config_get_all(int *size){
|
|
|
|
|
} else return NULL;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
config_str yon_config_get_all_modified(int *size){
|
|
|
|
|
*size = 0;
|
|
|
|
|
check_config{
|
|
|
|
|
config_str parameters = NULL;
|
|
|
|
|
dictionary *dict;
|
|
|
|
|
for_dictionaries(dict,(dictionary*)__yon__config__strings){
|
|
|
|
|
yon_config_parameter *param = (yon_config_parameter*)dict;
|
|
|
|
|
if (param->flag1==1||param->flag1==-1){
|
|
|
|
|
char *str = yon_char_unite(param->key,"=",(char*)param->data,NULL);
|
|
|
|
|
yon_char_parsed_add_or_create_if_exists(parameters,size,str);
|
|
|
|
|
free(str);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
return parameters;
|
|
|
|
|
}
|
|
|
|
|
return NULL;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
config_str yon_config_get_all_no_ignored(int *size){
|
|
|
|
|
check_config{
|
|
|
|
|
*size = 1;
|
|
|
|
|
@ -1273,4 +1302,13 @@ int yon_config_change_key(char *target, char *key){
|
|
|
|
|
dict->key = yon_char_new(key);
|
|
|
|
|
}
|
|
|
|
|
return 0;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
char *yon_config_parameter_get_key(char *parameter_string){
|
|
|
|
|
char *key = yon_char_new(parameter_string);
|
|
|
|
|
if (strstr(key,"[")&&strstr(key,"]")){
|
|
|
|
|
free(yon_char_divide_search(key,"[",-1));
|
|
|
|
|
yon_char_remove_last_symbol(key,']');
|
|
|
|
|
}
|
|
|
|
|
return key;
|
|
|
|
|
}
|