Mercurial > hg > dmlib
changeset 816:091461e0213f
Add new utility function.
author | Matti Hamalainen <ccr@tnsp.org> |
---|---|
date | Fri, 16 May 2014 17:05:41 +0300 |
parents | b0225b0dd9cc |
children | e574764ae065 |
files | src/dmlib.h src/dmstring.c |
diffstat | 2 files changed, 20 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/src/dmlib.h Fri May 16 15:24:52 2014 +0300 +++ b/src/dmlib.h Fri May 16 17:05:41 2014 +0300 @@ -404,7 +404,7 @@ char * dm_basefilename(const char *filename); char * dm_strdup_fext(const char *filename, const char *fmt); - +char * dm_strrcasecmp(char *str, const char *needle); /* Mutexes */
--- a/src/dmstring.c Fri May 16 15:24:52 2014 +0300 +++ b/src/dmstring.c Fri May 16 17:05:41 2014 +0300 @@ -42,6 +42,25 @@ } +char *dm_strrcasecmp(char *str, const char *needle) +{ + if (str == NULL || needle == NULL) + return NULL; + + const size_t + slen = strlen(str), + nlen = strlen(needle); + + if (slen < nlen) + return NULL; + + if (strcasecmp(str - nlen - 1, needle) == 0) + return str - nlen - 1; + else + return NULL; +} + + /* Implementation of strdup() with a NULL check */ char *dm_strdup(const char *s)