]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
lib-smtp: Add smtp_address_cmp_icase().
authorStephan Bosch <stephan.bosch@open-xchange.com>
Sun, 8 Dec 2019 12:16:26 +0000 (13:16 +0100)
committertimo.sirainen <timo.sirainen@open-xchange.com>
Fri, 13 Dec 2019 09:55:47 +0000 (09:55 +0000)
src/lib-smtp/smtp-address.c
src/lib-smtp/smtp-address.h

index f89a2b0cda412ee5f87a4d24f91eacb7fb94fb63..9487e2bc6c61266a0d462c38e0af60d7a5cfdf37 100644 (file)
@@ -939,3 +939,20 @@ int smtp_address_cmp(const struct smtp_address *address1,
                return ret;
        return null_strcmp(address1->localpart, address2->localpart);
 }
+
+int smtp_address_cmp_icase(const struct smtp_address *address1,
+                         const struct smtp_address *address2)
+{
+       bool null1, null2;
+       int ret;
+
+       null1 = smtp_address_isnull(address1);
+       null2 = smtp_address_isnull(address2);
+       if (null1)
+               return (null2 ? 0 : -1);
+       else if (null2)
+               return 1;
+       if ((ret = null_strcasecmp(address1->domain, address2->domain)) != 0)
+               return ret;
+       return null_strcasecmp(address1->localpart, address2->localpart);
+}
index 3d20d2a3905bfc5bbde736614e16445c47935ba8..cd8596e3c2f6709096ca85be78e445d846cefdf8 100644 (file)
@@ -181,6 +181,8 @@ smtp_address_add_detail_temp(const struct smtp_address *address,
 
 int smtp_address_cmp(const struct smtp_address *address1,
                     const struct smtp_address *address2) ATTR_NULL(1, 2);
+int smtp_address_cmp_icase(const struct smtp_address *address1,
+                         const struct smtp_address *address2) ATTR_NULL(1, 2);
 
 static inline bool ATTR_NULL(1, 2)
 smtp_address_equals(const struct smtp_address *address1,