]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
Added var_has_key().
authorTimo Sirainen <tss@iki.fi>
Sat, 25 Oct 2008 12:19:37 +0000 (15:19 +0300)
committerTimo Sirainen <tss@iki.fi>
Sat, 25 Oct 2008 12:19:37 +0000 (15:19 +0300)
--HG--
branch : HEAD

src/lib/var-expand.c
src/lib/var-expand.h

index a5a565143c5b4d9fdba1c86ccf091e28490951de..ed9045110d506d884bc7966b867354ecb82506ca 100644 (file)
@@ -283,6 +283,18 @@ char var_get_key(const char *str)
        return *str;
 }
 
+bool var_has_key(const char *str, char key)
+{
+       for (; *str != '\0'; str++) {
+               if (*str == '%' && str[1] != '\0') {
+                       str++;
+                       if (var_get_key(str) == key)
+                               return TRUE;
+               }
+       }
+       return FALSE;
+}
+
 const struct var_expand_table *
 var_expand_table_build(char key, const char *value, char key2, ...)
 {
index d528fb12c7bd67d4df54cdd9a8c9f49d5aa10f3c..3bdb19bf58c951cb4af41f3908812a778db8abb3 100644 (file)
@@ -14,6 +14,8 @@ void var_expand(string_t *dest, const char *str,
 /* Returns the actual key character for given string, ie. skip any modifiers
    that are before it. The string should be the data after the '%' character. */
 char var_get_key(const char *str) ATTR_PURE;
+/* Returns TRUE if key variable is used in the string. */
+bool var_has_key(const char *str, char key) ATTR_PURE;
 
 const struct var_expand_table *
 var_expand_table_build(char key, const char *value, char key2, ...);