From a6d5b77cf93d138233b913b99fc6d612563408f4 Mon Sep 17 00:00:00 2001 From: Not Zed Date: Mon, 22 Mar 2004 07:26:59 +0000 Subject: decode newsgroups header into a list of newsgroups. 2004-03-22 Not Zed * camel-mime-utils.c (camel_header_newsgroups_decode) (camel_header_newsgroups_free): decode newsgroups header into a list of newsgroups. ** See #55887. * providers/nntp/camel-nntp-summary.c (camel_nntp_summary_check): NOOP if we're offline. * providers/nntp/camel-nntp-store.c (nntp_connected): spit a warning if we try to do stuff whilst offline, rather than crash. svn path=/trunk/; revision=25142 --- camel/providers/nntp/camel-nntp-store.c | 5 +++++ camel/providers/nntp/camel-nntp-summary.c | 8 ++++++-- 2 files changed, 11 insertions(+), 2 deletions(-) (limited to 'camel/providers') diff --git a/camel/providers/nntp/camel-nntp-store.c b/camel/providers/nntp/camel-nntp-store.c index 815e3d7397..3b04f95052 100644 --- a/camel/providers/nntp/camel-nntp-store.c +++ b/camel/providers/nntp/camel-nntp-store.c @@ -1027,6 +1027,11 @@ camel_nntp_try_authenticate (CamelNNTPStore *store) static gboolean nntp_connected (CamelNNTPStore *store, CamelException *ex) { + if (((CamelDiscoStore *)store)->status == CAMEL_DISCO_STORE_OFFLINE) { + g_warning("Trying to talk to nntp session whilst offline"); + return FALSE; + } + if (store->stream == NULL) return camel_service_connect (CAMEL_SERVICE (store), ex); diff --git a/camel/providers/nntp/camel-nntp-summary.c b/camel/providers/nntp/camel-nntp-summary.c index 8c0d5f8476..7923369754 100644 --- a/camel/providers/nntp/camel-nntp-summary.c +++ b/camel/providers/nntp/camel-nntp-summary.c @@ -242,14 +242,18 @@ camel_nntp_summary_check(CamelNNTPSummary *cns, CamelFolderChangeInfo *changes, unsigned int n, f, l; int count; + folder = (CamelFolder *)cns->folder; + store = (CamelNNTPStore *)folder->parent_store; + + if (((CamelDiscoStore *)store)->status == CAMEL_DISCO_STORE_OFFLINE) + return 0; + if (xover_setup (cns, ex) == -1) { camel_exception_setv (ex, CAMEL_EXCEPTION_SERVICE_UNAVAILABLE, _("Connection error: %s"), strerror(errno)); return -1; } - folder = (CamelFolder *)cns->folder; - store = (CamelNNTPStore *)folder->parent_store; s = (CamelFolderSummary *)cns; ret = camel_nntp_command(store, &line, "group %s", folder->full_name); -- cgit v1.2.3