changeset 7915:1789ac4637b0 HEAD

Added str_array_icase_find().
author Timo Sirainen <tss@iki.fi>
date Sat, 21 Jun 2008 09:21:38 +0300
parents 5061533382be
children 8f3115354d14
files src/lib/strfuncs.c src/lib/strfuncs.h
diffstat 2 files changed, 12 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/src/lib/strfuncs.c	Sat Jun 21 08:51:51 2008 +0300
+++ b/src/lib/strfuncs.c	Sat Jun 21 09:21:38 2008 +0300
@@ -541,6 +541,15 @@
 	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;
--- a/src/lib/strfuncs.h	Sat Jun 21 08:51:51 2008 +0300
+++ b/src/lib/strfuncs.h	Sat Jun 21 09:21:38 2008 +0300
@@ -80,6 +80,9 @@
 	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,