Mercurial > dovecot > core-2.2
changeset 20887:ead4bfb88da1
lib: Add null_strcasecmp
author | Aki Tuomi <aki.tuomi@dovecot.fi> |
---|---|
date | Mon, 17 Oct 2016 23:25:27 +0300 |
parents | b88d0049df32 |
children | 79bc30406f1e |
files | src/lib/strfuncs.c src/lib/strfuncs.h |
diffstat | 2 files changed, 11 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/src/lib/strfuncs.c Mon Oct 17 19:38:07 2016 +0300 +++ b/src/lib/strfuncs.c Mon Oct 17 23:25:27 2016 +0300 @@ -434,6 +434,16 @@ return strcmp(s1, s2); } +int null_strcasecmp(const char *s1, const char *s2) +{ + if (s1 == NULL) + return s2 == NULL ? 0 : -1; + if (s2 == NULL) + return 1; + + return strcasecmp(s1, s2); +} + int i_memcasecmp(const void *p1, const void *p2, size_t size) { const unsigned char *s1 = p1;
--- a/src/lib/strfuncs.h Mon Oct 17 19:38:07 2016 +0300 +++ b/src/lib/strfuncs.h Mon Oct 17 23:25:27 2016 +0300 @@ -60,6 +60,7 @@ /*const char *t_str_trim(const char *str, const char *chars);*/ int null_strcmp(const char *s1, const char *s2) ATTR_PURE; +int null_strcasecmp(const char *s1, const char *s2) ATTR_PURE; int bsearch_strcmp(const char *key, const char *const *member) ATTR_PURE; int bsearch_strcasecmp(const char *key, const char *const *member) ATTR_PURE; int i_memcasecmp(const void *p1, const void *p2, size_t size) ATTR_PURE;