Added new functions

pull/83/head
parent 7a326e8254
commit e73cd375e8

@ -1408,6 +1408,44 @@ char *yon_config_save_simple(YON_CONFIG_TYPE target, char *path){
return NULL;
}
int yon_config_save_list_simple(config_str parameters_keys, size_t size, char *path){
if (yon_char_is_empty(path)) return 0;
check_config{
int parameters_size=0;
config_str parameters = yon_config_get_save_parameters_by_list(&parameters_size,parameters_keys,size);
if (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);
return !!system(command);
}
}
return 0;
}
int yon_config_save_args_simple(char *path, ...){
if (yon_char_is_empty(path)) return 0;
check_config{
va_list args;
va_start(args,path);
int size = 0;
config_str params = NULL;
char *cur = NULL;
while ((cur = va_arg(args,char*))){
yon_char_parsed_add_or_create_if_exists(params,&size,cur);
}
int parameters_size=0;
config_str parameters = yon_config_get_save_parameters_by_list(&parameters_size,params,size);
yon_char_parsed_free(params,size);
if (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);
return !!system(command);
}
}
return 0;
}
char *yon_config_parameter_prepare_command(char *command, char *path, char *section, char *parameter){
if (!yon_char_is_empty(command)){
int size=0;

@ -1168,8 +1168,10 @@ void yon_dir_remove(const char *path);
/** yon_dir_get_contents(char *dir_path, int *size)
* [EN]
* [DEPRECATED]
*
* [RU]
* [УСТАРЕЛО]
* Проверяет существует ли папка [dir_path] и
* возвращает список всех вложенных файлов и папок,
* передавая в [size] длину списка.
@ -1520,6 +1522,20 @@ enum YON_CONFIG_SAVED_TYPE yon_config_register_default(char *key,char *config_lo
/// @return
char *yon_config_save_simple(YON_CONFIG_TYPE target, char *path);
/// @brief Save list of parameters into configuration.
/// @param parameters_keys List of parameter keys.
/// @param size size of parameter keys list.
/// @param path Path to configuration .ini.
/// @return TRUE if successful, FALSE otherwise.
int yon_config_save_list_simple(config_str parameters_keys, size_t size, char *path);
/// @brief Save list of parameters into configuration.
/// @param path Path to configuration .ini.
/// @param ... A NULL-terminated list of parameter keys.
/// @return TRUE if successful, FALSE otherwise.
int yon_config_save_args_simple(char *path, ...);
/**int yon_config_force_save_registered(char *path, char *section)
* [EN]
* Force config to save at [path] config ignoring parameter save status.

Loading…
Cancel
Save