diff options
Diffstat (limited to 'camel/camel-remote-store.c')
-rw-r--r-- | camel/camel-remote-store.c | 11 |
1 files changed, 3 insertions, 8 deletions
diff --git a/camel/camel-remote-store.c b/camel/camel-remote-store.c index 4148a72c7f..8c299cec0c 100644 --- a/camel/camel-remote-store.c +++ b/camel/camel-remote-store.c @@ -458,7 +458,6 @@ static int remote_recv_line (CamelRemoteStore *store, char **dest, CamelException *ex) { CamelStreamBuffer *stream; - CamelException internal_ex; char *buf; *dest = NULL; @@ -477,18 +476,14 @@ remote_recv_line (CamelRemoteStore *store, char **dest, CamelException *ex) buf = camel_stream_buffer_read_line (stream); - camel_exception_init (&internal_ex); if (buf == NULL) { if (errno == EINTR) - camel_exception_set (&internal_ex, CAMEL_EXCEPTION_USER_CANCEL, _("Operation cancelled")); + camel_exception_set (ex, CAMEL_EXCEPTION_USER_CANCEL, _("Operation cancelled")); else - camel_exception_setv (&internal_ex, CAMEL_EXCEPTION_SERVICE_UNAVAILABLE, + camel_exception_setv (ex, CAMEL_EXCEPTION_SERVICE_UNAVAILABLE, _("Server unexpectedly disconnected: %s"), g_strerror (errno)); - } - - if (camel_exception_is_set (&internal_ex)) { - camel_exception_xfer (ex, &internal_ex); + camel_service_disconnect (CAMEL_SERVICE (store), FALSE, NULL); return -1; } |