]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
lib-smtp: smtp-address - Add smtp_address_encode_raw*().
authorStephan Bosch <stephan.bosch@open-xchange.com>
Fri, 13 Sep 2019 00:01:52 +0000 (02:01 +0200)
committerStephan Bosch <stephan.bosch@open-xchange.com>
Fri, 4 Oct 2019 11:59:35 +0000 (13:59 +0200)
These are special variants of smtp_address_encode*(), which use the new raw
field when it is set.

src/lib-smtp/smtp-address.c
src/lib-smtp/smtp-address.h

index 0a53678cedadd010032ebadb338e7a96900d2155..d0fde2341058a0abae811c49528c6c680f23620e 100644 (file)
@@ -645,6 +645,22 @@ const char *smtp_address_encode_path(const struct smtp_address *address)
        return str_c(str);
 }
 
+const char *smtp_address_encode_raw(const struct smtp_address *address)
+{
+       if (address != NULL && address->raw != NULL && *address->raw != '\0')
+               return address->raw;
+
+       return smtp_address_encode(address);
+}
+
+const char *smtp_address_encode_raw_path(const struct smtp_address *address)
+{
+       if (address != NULL && address->raw != NULL && *address->raw != '\0')
+               return t_strconcat("<", address->raw, ">", NULL);
+
+       return smtp_address_encode_path(address);
+}
+
 /*
  * SMTP address manipulation
  */
index 03c914f0fa66a41bb4c688f0cccdd56db245d2b1..3663bd13483c43777a759ad95e67028de7ccde77 100644 (file)
@@ -120,6 +120,11 @@ const char *smtp_address_encode(const struct smtp_address *address)
 const char *smtp_address_encode_path(const struct smtp_address *address)
                                     ATTR_NULL(1);
 
+const char *
+smtp_address_encode_raw(const struct smtp_address *address) ATTR_NULL(1);
+const char *
+smtp_address_encode_raw_path(const struct smtp_address *address) ATTR_NULL(1);
+
 /*
  * SMTP address manipulation
  */