diff options
author | Jeffrey Stedfast <fejj@helixcode.com> | 2000-07-18 08:02:59 +0800 |
---|---|---|
committer | Jeffrey Stedfast <fejj@src.gnome.org> | 2000-07-18 08:02:59 +0800 |
commit | 833a1ea41d8a468c4d26c5419f2147e7acc59fa5 (patch) | |
tree | 4098c0fa110feec457852769e8d3eba9b843470e /camel/providers/imap/camel-imap-store.c | |
parent | 86ec303a21211ab79c4e7a0c160e59b5605bfe15 (diff) | |
download | gsoc2013-evolution-833a1ea41d8a468c4d26c5419f2147e7acc59fa5.tar.gz gsoc2013-evolution-833a1ea41d8a468c4d26c5419f2147e7acc59fa5.tar.zst gsoc2013-evolution-833a1ea41d8a468c4d26c5419f2147e7acc59fa5.zip |
Send a "LOGOUT" command.
2000-07-17 Jeffrey Stedfast <fejj@helixcode.com>
* providers/imap/camel-imap-store.c (imap_disconnect): Send a "LOGOUT"
command.
* providers/imap/camel-imap-folder.c (imap_get_message): Hacks to get
IMAP code to work with CommunigatePro and MS Exchange (and any other
servers that send back a UID at the end of each FETCH inside of the main
body of the message part).
(imap_sync): Un-#if 0 the code that sets the flags on the IMAP server
for messages that have changed. Oops, don't mask with DELETED to find out
if the message has been answered ;-)
(imap_expunge): sync before expunging.
svn path=/trunk/; revision=4207
Diffstat (limited to 'camel/providers/imap/camel-imap-store.c')
-rw-r--r-- | camel/providers/imap/camel-imap-store.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/camel/providers/imap/camel-imap-store.c b/camel/providers/imap/camel-imap-store.c index c03ae182cf..c9e70731a3 100644 --- a/camel/providers/imap/camel-imap-store.c +++ b/camel/providers/imap/camel-imap-store.c @@ -418,10 +418,19 @@ static gboolean imap_disconnect (CamelService *service, CamelException *ex) { CamelImapStore *store = CAMEL_IMAP_STORE (service); + char *result; + int status; if (!service->connected) return TRUE; + /* send the logout command */ + status = camel_imap_command_extended (CAMEL_IMAP_STORE (service), NULL, &result, "LOGOUT"); + if (status != CAMEL_IMAP_OK) { + /* Oh fuck it, we're disconnecting anyway... */ + } + g_free (result); + if (!service_class->disconnect (service, ex)) return FALSE; |