]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
lib-smtp: smtp-params - Remove code duplication between smtp_params_*_write().
authorStephan Bosch <stephan.bosch@open-xchange.com>
Wed, 22 Apr 2020 21:03:57 +0000 (23:03 +0200)
committeraki.tuomi <aki.tuomi@open-xchange.com>
Wed, 27 May 2020 05:32:15 +0000 (05:32 +0000)
src/lib-smtp/smtp-params.c

index 1942021f259ecbec7f3713c8c3b1648f6bce5eee..d7b767c084d17ac70561f1bb3d00faf38e26bd3c 100644 (file)
@@ -165,6 +165,20 @@ void smtp_param_write(string_t *out, const struct smtp_param *param)
        }
 }
 
+static void
+smtp_params_write(string_t *buffer, const ARRAY_TYPE(smtp_param) *params)
+{
+       const struct smtp_param *param;
+
+       if (!array_is_created(params))
+               return;
+
+       array_foreach(params, param) {
+               smtp_param_write(buffer, param);
+               str_append_c(buffer, ' ');
+       }
+}
+
 /* evaluate */
 
 const struct smtp_param *
@@ -659,14 +673,7 @@ void smtp_params_mail_write(string_t *buffer, enum smtp_capability caps,
        smtp_params_mail_write_ret(buffer, caps, params);
        smtp_params_mail_write_size(buffer, caps, params);
 
-       if (array_is_created(&params->extra_params)) {
-               const struct smtp_param *param;
-
-               array_foreach(&params->extra_params, param) {
-                       smtp_param_write(buffer, param);
-                       str_append_c(buffer, ' ');
-               }
-       }
+       smtp_params_write(buffer, &params->extra_params);
 
        if (str_len(buffer) > init_len)
                str_truncate(buffer, str_len(buffer)-1);
@@ -1174,14 +1181,7 @@ void smtp_params_rcpt_write(string_t *buffer, enum smtp_capability caps,
        smtp_params_rcpt_write_notify(buffer, caps, params);
        smtp_params_rcpt_write_orcpt(buffer, caps, params);
 
-       if (array_is_created(&params->extra_params)) {
-               const struct smtp_param *param;
-
-               array_foreach(&params->extra_params, param) {
-                       smtp_param_write(buffer, param);
-                       str_append_c(buffer, ' ');
-               }
-       }
+       smtp_params_write(buffer, &params->extra_params);
 
        if (str_len(buffer) > init_len)
                str_truncate(buffer, str_len(buffer)-1);