Mercurial > dovecot > core
changeset 26752:e6602daa3fa2
lib-smtp: Add smtp_address_cmp_icase().
author | Stephan Bosch <stephan.bosch@open-xchange.com> |
---|---|
date | Sun, 08 Dec 2019 13:16:26 +0100 |
parents | 89377ab1c2f5 |
children | 5ab0fddc514c |
files | src/lib-smtp/smtp-address.c src/lib-smtp/smtp-address.h |
diffstat | 2 files changed, 19 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/src/lib-smtp/smtp-address.c Wed Dec 11 14:04:32 2019 +0200 +++ b/src/lib-smtp/smtp-address.c Sun Dec 08 13:16:26 2019 +0100 @@ -939,3 +939,20 @@ 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); +}
--- a/src/lib-smtp/smtp-address.h Wed Dec 11 14:04:32 2019 +0200 +++ b/src/lib-smtp/smtp-address.h Sun Dec 08 13:16:26 2019 +0100 @@ -181,6 +181,8 @@ 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,