diff --git a/src/lib-smtp/smtp-server-reply.c b/src/lib-smtp/smtp-server-reply.c index 7cbc271ec0..5966888511 100644 --- a/src/lib-smtp/smtp-server-reply.c +++ b/src/lib-smtp/smtp-server-reply.c @@ -174,6 +174,14 @@ void smtp_server_reply_set_status(struct smtp_server_reply *reply, reply->content->enhanced_code = p_strdup(pool, enh_code); } +unsigned int smtp_server_reply_get_status(struct smtp_server_reply *reply, + const char **enh_code_r) +{ + if (enh_code_r != NULL) + *enh_code_r = reply->content->enhanced_code; + return reply->content->status; +} + struct smtp_server_reply * smtp_server_reply_create_index(struct smtp_server_command *cmd, unsigned int index, unsigned int status, diff --git a/src/lib-smtp/smtp-server.h b/src/lib-smtp/smtp-server.h index c698316d85..a3c8383a0b 100644 --- a/src/lib-smtp/smtp-server.h +++ b/src/lib-smtp/smtp-server.h @@ -637,6 +637,8 @@ smtp_server_reply_create_forward(struct smtp_server_command *cmd, void smtp_server_reply_set_status(struct smtp_server_reply *reply, unsigned int status, const char *enh_code) ATTR_NULL(3); +unsigned int smtp_server_reply_get_status(struct smtp_server_reply *reply, + const char **enh_code_r) ATTR_NULL(3); void smtp_server_reply_add_text(struct smtp_server_reply *reply, const char *line);