]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
Added str_array_icase_find().
authorTimo Sirainen <tss@iki.fi>
Sat, 21 Jun 2008 06:21:38 +0000 (09:21 +0300)
committerTimo Sirainen <tss@iki.fi>
Sat, 21 Jun 2008 06:21:38 +0000 (09:21 +0300)
--HG--
branch : HEAD

src/lib/strfuncs.c
src/lib/strfuncs.h

index 9bc76f0d096e7ac043297b9fce420412fac588a5..1015524347d6912c67463cdfe8b3315c4f8cc6b0 100644 (file)
@@ -541,6 +541,15 @@ bool str_array_remove(const char **arr, const char *value)
        return FALSE;
 }
 
+bool str_array_icase_find(const char *const *arr, const char *value)
+{
+       for (; *arr != NULL; arr++) {
+               if (strcasecmp(*arr, value) == 0)
+                       return TRUE;
+       }
+       return FALSE;
+}
+
 const char *dec2str(uintmax_t number)
 {
        char *buffer;
index eb0b59e0f3bca7541cd388a0fba1b1c261734126..63902bc35bf65a7b985ccb5889223e32c5490443 100644 (file)
@@ -80,6 +80,9 @@ const char *t_strarray_join(const char *const *arr, const char *separator)
        ATTR_MALLOC;
 /* Removes a value from NULL-terminated string array. Returns TRUE if found. */
 bool str_array_remove(const char **arr, const char *value);
+/* Returns TRUE if value exists in NULL-terminated string array.
+   Strings are compared case-insensitively. */
+bool str_array_icase_find(const char *const *arr, const char *value);
 
 /* INTERNAL */
 char *t_noalloc_strdup_vprintf(const char *format, va_list args,