From b9cf1315120f5d3efe97b0c267fe2ff9e7decb3b Mon Sep 17 00:00:00 2001 From: Paul J Stevens Date: Fri, 31 May 2013 09:43:20 +0200 Subject: [PATCH] backport socket write fix --- src/clientbase.c | 2 +- src/imap4.c | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/clientbase.c b/src/clientbase.c index 24bc087d..de0d2916 100644 --- a/src/clientbase.c +++ b/src/clientbase.c @@ -307,7 +307,7 @@ int ci_write(ClientBase_T *self, char * msg, ...) if (self->ssl && self->ssl_state) event_add(self->wev, NULL); } - return e; + return 0; } else { TRACE(TRACE_INFO, "[%p] S > [%ld/%ld:%s]", self, t, self->write_buffer->len, s); diff --git a/src/imap4.c b/src/imap4.c index 4ea30e70..1161da4f 100644 --- a/src/imap4.c +++ b/src/imap4.c @@ -283,7 +283,8 @@ static void imap_handle_exit(ImapSession *session, int status) if (session->buff && session->buff->len > 0) { int e = 0; if ((e = ci_write(session->ci, session->buff->str)) < 0) { - TRACE(TRACE_DEBUG,"ci_write returned error [%s]", strerror(e)); + int serr = errno; + TRACE(TRACE_DEBUG,"ci_write returned error [%s]", strerror(serr)); dbmail_imap_session_set_state(session,CLIENTSTATE_ERROR); return; }