Fixed char_check_elements func; Added new function

pull/88/head
parent bb9e10a14c
commit 31adf787b3

@ -179,7 +179,7 @@ int yon_char_check_elements(char *target, char *element, char *divider){
config_str parsed = yon_char_parse(target,&size,divider);
config_str parsed_element = yon_char_parse(element,&element_size,divider);
for (int i=0;i<element_size;i++){
int found = yon_char_parsed_check_exist(parsed,size,element);
int found = yon_char_parsed_check_exist(parsed,size,parsed_element[i]);
if (found<0){
yon_char_parsed_free(parsed,size);
yon_char_parsed_free(parsed_element,element_size);

@ -702,6 +702,28 @@ int yon_config_remove_elements(char *key, char *delete_target, char *divider){
} else return 0;
}
int yon_config_remove_elements_all(char *key, char *delete_target, char *divider){
check_config{
int found = 0;
yon_config_parameter *dict = (yon_config_parameter*)yon_dictionary_get((dictionary**)&__yon__config__strings,key);
if (dict&&yon_char_check_elements((char*)dict->data,delete_target,divider)){
char *temp = yon_char_remove_elements((char*)dict->data,delete_target,divider);
if (!yon_char_is_empty(temp)){
if (!yon_char_is_empty((char*)dict->data)) free(dict->data);
dict->data = temp;
yon_config_set_status(key,1);
} else {
dict->data = NULL;
yon_config_set_status(key,-1);
}
return 1;
}
} else return 0;
}
int yon_config_append_element(char *key, char *append, char *divider){
check_config{
int found = 0;

@ -1376,6 +1376,13 @@ int yon_config_remove_element(char *key, char *delete_target, char *separator);
/// @return 1 if element was successfully removed, 0 otherwise
int yon_config_remove_elements(char *key, char *delete_target, char *separator);
/// @brief Remove elements string from registered parameter value string of elements if all of requested parameters exist
/// @param key parameter key
/// @param delete_target substring to delete
/// @param separator string, separating elements within parameter's value
/// @return 1 if element was successfully removed, 0 otherwise
int yon_config_remove_elements_all(char *key, char *delete_target, char *divider);
/// @brief Append registered parameter value string
/// @param key parameter key
/// @param append string to append

Loading…
Cancel
Save