diff --git a/source/libublsettings-char.c b/source/libublsettings-char.c index 73781ad..1ef29c6 100644 --- a/source/libublsettings-char.c +++ b/source/libublsettings-char.c @@ -552,6 +552,13 @@ config_str yon_char_parsed_merge(config_str array1, int size1, config_str array2 } } +int yon_char_parsed_compare(const config_str a, const config_str b){ + const config_str str_a = (const config_str)a; + const config_str str_b = (const config_str)b; + + return strcmp(*str_a,*str_b); +} + config_str yon_char_parsed_merge_no_repeats(config_str array1, int size1, config_str array2, int size2, int *final_size){ if (array1&&array2&&size1>0&&size2>0){ *final_size=0; diff --git a/source/libublsettings.h b/source/libublsettings.h index 1d38310..7e39499 100644 --- a/source/libublsettings.h +++ b/source/libublsettings.h @@ -998,6 +998,12 @@ config_str yon_char_parsed_cut(config_str parsed, int size, int pos); int yon_char_parsed_find_element(config_str parsed, int size, char *target); +/// @brief Checks if two config_str elements are equal or not for sort functions +/// @param a pinter for first compared element; +/// @param b pointer for second compared element; +/// @return -1 if ab +int yon_char_parsed_compare(const config_str a, const config_str b); + int yon_char_find_last_symbol_before_length(char *string, char target, int length); /**yon_char_wrap_to_length(char *target, unsigned int length, int *size)