From d6079cf4f4c43e39e9e794879e951d2741020de4 Mon Sep 17 00:00:00 2001 From: Stephan Bosch <stephan@rename-it.nl> Date: Tue, 8 Sep 2015 01:07:43 +0200 Subject: [PATCH] managesieve: Started using io_stream_get_disconnect_reason() for default client_destroy() reason. --- src/managesieve/managesieve-client.c | 20 +++++--------------- 1 file changed, 5 insertions(+), 15 deletions(-) diff --git a/src/managesieve/managesieve-client.c b/src/managesieve/managesieve-client.c index 60c79e440..493280083 100644 --- a/src/managesieve/managesieve-client.c +++ b/src/managesieve/managesieve-client.c @@ -9,6 +9,7 @@ #include "net.h" #include "istream.h" #include "ostream.h" +#include "iostream.h" #include "var-expand.h" #include "master-service.h" #include "mail-storage-service.h" @@ -211,19 +212,6 @@ static const char *client_stats(struct client *client) return str_c(str); } -static const char *client_get_disconnect_reason(struct client *client) -{ - errno = client->input->stream_errno != 0 ? - client->input->stream_errno : - client->output->stream_errno; - if (errno == 0 || errno == EPIPE) - return "Connection closed"; - return t_strdup_printf("Connection closed: %s", - client->input->stream_errno != 0 ? - i_stream_get_error(client->input) : - o_stream_get_error(client->output)); -} - void client_destroy(struct client *client, const char *reason) { int ret; @@ -234,8 +222,10 @@ void client_destroy(struct client *client, const char *reason) if (!client->disconnected) { client->disconnected = TRUE; - if (reason == NULL) - reason = client_get_disconnect_reason(client); + if (reason == NULL) { + reason = io_stream_get_disconnect_reason(client->input, + client->output); + } i_info("%s %s", reason, client_stats(client)); } -- GitLab