|
|
|
@ -1274,8 +1274,8 @@ config_str yon_config_get_save_parameters_by_list(int *size, config_str paramete
|
|
|
|
removed[position]=string;
|
|
|
|
removed[position]=string;
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
} else if (temp){
|
|
|
|
char *string = yon_char_unite("remove"," ",yon_config_parameter_wrap(parameters[i]),NULL);
|
|
|
|
char *string = yon_char_unite("remove"," ",yon_config_parameter_to_string((yon_config_parameter*)temp,1),NULL);
|
|
|
|
yon_char_parsed_add_or_create_if_exists(removed,&removed_size,string);
|
|
|
|
yon_char_parsed_add_or_create_if_exists(removed,&removed_size,string);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
@ -1423,7 +1423,7 @@ char *yon_config_save_simple(YON_CONFIG_TYPE target, char *path){
|
|
|
|
return NULL;
|
|
|
|
return NULL;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
int yon_config_save_list_simple(config_str parameters_keys, size_t size, char *path){
|
|
|
|
char *yon_config_save_list_simple(config_str parameters_keys, size_t size, char *path){
|
|
|
|
if (yon_char_is_empty(path)) return 0;
|
|
|
|
if (yon_char_is_empty(path)) return 0;
|
|
|
|
check_config{
|
|
|
|
check_config{
|
|
|
|
int parameters_size=0;
|
|
|
|
int parameters_size=0;
|
|
|
|
@ -1431,14 +1431,26 @@ int yon_config_save_list_simple(config_str parameters_keys, size_t size, char *p
|
|
|
|
if (parameters&¶meters_size){
|
|
|
|
if (parameters&¶meters_size){
|
|
|
|
char *command_parameters = yon_char_parsed_to_string(parameters,parameters_size," -- ");
|
|
|
|
char *command_parameters = yon_char_parsed_to_string(parameters,parameters_size," -- ");
|
|
|
|
char *command = yon_char_unite(ubconfig_dull_command,"--target ",path," ", command_parameters,NULL);
|
|
|
|
char *command = yon_char_unite(ubconfig_dull_command,"--target ",path," ", command_parameters,NULL);
|
|
|
|
return !!system(command);
|
|
|
|
FILE *file = popen(command,"r");
|
|
|
|
|
|
|
|
if (file){
|
|
|
|
|
|
|
|
int file_size=0;
|
|
|
|
|
|
|
|
config_str file_output = yon_config_load_file(file,&file_size);
|
|
|
|
|
|
|
|
if (file_output){
|
|
|
|
|
|
|
|
char *final_string = yon_char_parsed_to_string(file_output,file_size,"");
|
|
|
|
|
|
|
|
if (!yon_char_is_empty(final_string)){
|
|
|
|
|
|
|
|
return final_string;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return 0;
|
|
|
|
fclose(file);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
return NULL;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
int yon_config_save_args_simple(char *path, ...){
|
|
|
|
char *yon_config_save_args_simple(char *path, ...){
|
|
|
|
if (yon_char_is_empty(path)) return 0;
|
|
|
|
if (yon_char_is_empty(path)) return 0;
|
|
|
|
check_config{
|
|
|
|
check_config{
|
|
|
|
va_list args;
|
|
|
|
va_list args;
|
|
|
|
@ -1455,10 +1467,26 @@ int yon_config_save_args_simple(char *path, ...){
|
|
|
|
if (parameters&¶meters_size){
|
|
|
|
if (parameters&¶meters_size){
|
|
|
|
char *command_parameters = yon_char_parsed_to_string(parameters,parameters_size," -- ");
|
|
|
|
char *command_parameters = yon_char_parsed_to_string(parameters,parameters_size," -- ");
|
|
|
|
char *command = yon_char_unite(ubconfig_dull_command,"--target ",path," ", command_parameters,NULL);
|
|
|
|
char *command = yon_char_unite(ubconfig_dull_command,"--target ",path," ", command_parameters,NULL);
|
|
|
|
return !!system(command);
|
|
|
|
FILE *file = popen(command,"r");
|
|
|
|
|
|
|
|
if (file){
|
|
|
|
|
|
|
|
int file_size=0;
|
|
|
|
|
|
|
|
config_str file_output = yon_config_load_file(file,&file_size);
|
|
|
|
|
|
|
|
if (file_output){
|
|
|
|
|
|
|
|
char *output_string = yon_char_parsed_to_string(file_output,file_size,"");
|
|
|
|
|
|
|
|
yon_char_parsed_free(file_output,file_size);
|
|
|
|
|
|
|
|
char *final_string = yon_char_unite(command,"\n",output_string,NULL);
|
|
|
|
|
|
|
|
free(output_string);
|
|
|
|
|
|
|
|
if (!yon_char_is_empty(final_string)){
|
|
|
|
|
|
|
|
return final_string;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
yon_char_parsed_free(file_output,file_size);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return 0;
|
|
|
|
fclose(file);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
return NULL;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
int yon_config_update_by_key(char *key){
|
|
|
|
int yon_config_update_by_key(char *key){
|
|
|
|
@ -1469,6 +1497,7 @@ int yon_config_update_by_key(char *key){
|
|
|
|
if (current->data) free(current->data);
|
|
|
|
if (current->data) free(current->data);
|
|
|
|
current->data = NULL;
|
|
|
|
current->data = NULL;
|
|
|
|
int size=0;
|
|
|
|
int size=0;
|
|
|
|
|
|
|
|
yon_config_remove_by_key(key);
|
|
|
|
char *command = yon_config_parameter_get_load_command(key);
|
|
|
|
char *command = yon_config_parameter_get_load_command(key);
|
|
|
|
config_str new_param = yon_config_load(command,&size);
|
|
|
|
config_str new_param = yon_config_load(command,&size);
|
|
|
|
if (size&&!yon_char_is_empty(new_param[0])&&strcmp(new_param[0],"(null)\n")){
|
|
|
|
if (size&&!yon_char_is_empty(new_param[0])&&strcmp(new_param[0],"(null)\n")){
|
|
|
|
@ -1486,6 +1515,7 @@ int yon_config_update_by_list(config_str keys, size_t size){
|
|
|
|
if (!size||!keys) return 0;
|
|
|
|
if (!size||!keys) return 0;
|
|
|
|
check_config{
|
|
|
|
check_config{
|
|
|
|
int params_size=0;
|
|
|
|
int params_size=0;
|
|
|
|
|
|
|
|
yon_config_remove_by_list(keys,size);
|
|
|
|
config_str parameters = yon_config_get_load_parameters_by_list(¶ms_size,keys,size);
|
|
|
|
config_str parameters = yon_config_get_load_parameters_by_list(¶ms_size,keys,size);
|
|
|
|
if (params_size&¶meters){
|
|
|
|
if (params_size&¶meters){
|
|
|
|
char *path = yon_config_command_get_path(config_last_load_command);
|
|
|
|
char *path = yon_config_command_get_path(config_last_load_command);
|
|
|
|
@ -1503,10 +1533,12 @@ int yon_config_update_by_args(char *key, ...){
|
|
|
|
config_str keys = NULL;
|
|
|
|
config_str keys = NULL;
|
|
|
|
yon_char_parsed_add_or_create_if_exists(keys,&size,key);
|
|
|
|
yon_char_parsed_add_or_create_if_exists(keys,&size,key);
|
|
|
|
va_list args;
|
|
|
|
va_list args;
|
|
|
|
|
|
|
|
yon_config_remove_by_key(key);
|
|
|
|
va_start(args,key);
|
|
|
|
va_start(args,key);
|
|
|
|
char *cur_key = NULL;
|
|
|
|
char *cur_key = NULL;
|
|
|
|
while((cur_key = va_arg(args,char*))){
|
|
|
|
while((cur_key = va_arg(args,char*))){
|
|
|
|
yon_char_parsed_add_or_create_if_exists(keys,&size,cur_key);
|
|
|
|
yon_char_parsed_add_or_create_if_exists(keys,&size,cur_key);
|
|
|
|
|
|
|
|
yon_config_remove_by_key(cur_key);
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
int params_size=0;
|
|
|
|
int params_size=0;
|
|
|
|
|