It provides an easy way to check whether a string ends with a given suffix. Signed-off-by: Anatol Pomozov <anatol.pomozov@gmail.com> --- src/common/util-common.c | 18 ++++++++++++++++++ src/common/util-common.h | 2 ++ 2 files changed, 20 insertions(+) diff --git a/src/common/util-common.c b/src/common/util-common.c index 7d43ac0d..11ffc705 100644 --- a/src/common/util-common.c +++ b/src/common/util-common.c @@ -198,6 +198,24 @@ char *strndup(const char *s, size_t n) } #endif +/** Helper function for check whether a string ends with a given suffix + * @param str a string + * @param suffix we want to check + * @return 0 in case if the given string does not end with the suffix, + * a non-zero value otherwise. + */ +int str_endswith(const char *str, const char *suffix) +{ + int str_len = strlen(str); + int suffix_len = strlen(suffix); + + if(suffix_len > str_len) { + return 0; + } + + return !strcmp(str + str_len - suffix_len, suffix); +} + void wordsplit_free(char **ws) { if(ws) { diff --git a/src/common/util-common.h b/src/common/util-common.h index 483d5da4..6b66be3e 100644 --- a/src/common/util-common.h +++ b/src/common/util-common.h @@ -35,6 +35,8 @@ char **wordsplit(const char *str); size_t strtrim(char *str); +int str_endswith(const char *str, const char *suffix); + #ifndef HAVE_STRNDUP char *strndup(const char *s, size_t n); #endif -- 2.26.2