Added new config and char functions

pull/83/head
parent 733c05f2bb
commit 7783c3e0d3

@ -48,6 +48,24 @@ char *yon_char_append_element(char *source,char *target, char *divider){
return yon_char_new(source);
}
char *yon_char_append_elements(char *source,char *target, char *divider){
if (!yon_char_is_empty(target)&&!yon_char_is_empty(divider)){
if (yon_char_is_empty(source)) return yon_char_new(target);
int size=0;
int target_size=0;
config_str parsed = yon_char_parse(source,&size,divider);
config_str target_parsed = yon_char_parse(target,&target_size,divider);
for (int i=0;i<target_size;i++){
if (yon_char_parsed_check_exist(parsed,size,target_parsed[i])==-1){
yon_char_parsed_add_or_create_if_exists(parsed,&size,target);
}
}
yon_char_parsed_free(target_parsed,target_size);
return yon_char_parsed_to_string(parsed,size,divider);
}
return yon_char_new(source);
}
char *yon_char_force_append_element(char *source,char *target, char *divider){
if (yon_char_is_empty(target)){
target = "";

@ -665,6 +665,25 @@ int yon_config_append_element(char *key, char *append, char *divider){
return 0;
}
int yon_config_append_elements(char *key, char *append, char *divider){
check_config{
int found = 0;
yon_config_parameter *dict = (yon_config_parameter*)yon_dictionary_get((dictionary**)&__yon__config__strings,key);
if (dict){
if (!yon_char_check_elements((char*)dict->data,append,divider)){
char *temp = yon_char_append_elements((char*)dict->data,append,divider);
if (!yon_char_is_empty((char*)dict->data)) free(dict->data);
dict->data = temp;
dict->flag1 = 1;
yon_config_remove_ignore(key);
return 1;
}
}
}
return 0;
}
int yon_config_force_append_element(char *key, char *append, char *divider){
check_config{
int found = 0;

@ -646,6 +646,13 @@ char *yon_char_append_c(const char *source, char append);
*/
char *yon_char_append_element(char *source,char *target, char *divider);
/// @brief Append string of elements with another string of elements
/// @param source sSource string of elements.
/// @param target Appended string of elements.
/// @param separator String, separating elements within parameter's value
/// @return A newly allocated string of elements
char *yon_char_append_elements(char *source,char *target, char *separator);
char *yon_char_force_append_element(char *source,char *target, char *divider);
/**
* @brief Remove substring from string.
@ -1375,6 +1382,13 @@ int yon_config_remove_elements(char *key, char *delete_target, char *separator);
/// @return 1 if element was successfully added, 0 otherwise
int yon_config_append_element(char *key, char *append, char *separator);
/// @brief Append registered parameter value string of elements with another string of elements
/// @param key parameter key
/// @param append string to append
/// @param separator string, separating elements within parameter's value
/// @return 1 if element was successfully added, 0 otherwise
int yon_config_append_elements(char *key, char *append, char *divider);
/// @brief Append parameter value string event if appended string already exists in parameter value or empty
/// @param key parameter key
/// @param append string to append

Loading…
Cancel
Save