Merge pull request 'Added new function to get multiple specific variables from configuration' (#24) from YanTheKaller/libublsettings:master into master

Reviewed-on: #24
master v1.20
Dmitry Razumov 1 year ago
commit 218eb39f5c

@ -1429,6 +1429,27 @@ void *yon_config_get_all_by_key(char *key, int *size){
return NULL; return NULL;
} }
config_str yon_config_get_selection_by_key(int *size, ...){
(*size)=0;
check_config{
va_list list;
va_start(list,size);
config_str ret_data=NULL;
char *arg = NULL;
while ((arg = va_arg(list,char*))){
char *cur = yon_config_get_by_key(arg);
char *parameter_string=NULL;
if (!yon_char_is_empty(cur)){
parameter_string = yon_char_unite(arg,"=",cur,NULL);
yon_char_parsed_add_or_create_if_exists(ret_data,size,parameter_string);
free(parameter_string);
}
}
return ret_data;
}
return NULL;
}
void *yon_config_get_all_by_key_no_ignored(char *key, int *size){ void *yon_config_get_all_by_key_no_ignored(char *key, int *size){
check_config{ check_config{
(*size)=0; (*size)=0;

@ -785,6 +785,14 @@ char *yon_config_get_section_for_key(char *key);
*/ */
void *yon_config_get_all_by_key(char *key, int *size); void *yon_config_get_all_by_key(char *key, int *size);
/**yon_config_get_selection_by_key(int *size, ...)
* [EN]
*
* [RU]
* Возвращает значения всех найденных параметров в порядке указания, заменяя ненайденные параметры значением NULL
*/
config_str yon_config_get_selection_by_key(int *size, ...);
/**yon_config_get_all_by_key(char *data) /**yon_config_get_all_by_key(char *data)
* [EN] * [EN]
* *

Loading…
Cancel
Save