diff options
Diffstat (limited to 'camel/providers/nntp/camel-nntp-store.c')
-rw-r--r-- | camel/providers/nntp/camel-nntp-store.c | 19 |
1 files changed, 13 insertions, 6 deletions
diff --git a/camel/providers/nntp/camel-nntp-store.c b/camel/providers/nntp/camel-nntp-store.c index e4e115cea4..d72db9b6b3 100644 --- a/camel/providers/nntp/camel-nntp-store.c +++ b/camel/providers/nntp/camel-nntp-store.c @@ -298,7 +298,7 @@ static CamelServiceAuthType password_authtype = { }; static GList * -nntp_store_query_auth_types (CamelService *service, gboolean connect, CamelException *ex) +nntp_store_query_auth_types (CamelService *service, CamelException *ex) { GList *prev; @@ -313,8 +313,6 @@ nntp_store_get_folder (CamelStore *store, const gchar *folder_name, { CamelNNTPStore *nntp_store = CAMEL_NNTP_STORE (store); - printf ("get_folder called on folder_name=%s\n", folder_name); - /* if we haven't already read our .newsrc, read it now */ if (!nntp_store->newsrc) nntp_store->newsrc = @@ -468,8 +466,7 @@ build_folder_info_from_grouplist (CamelNNTPStore *nntp_store, const char *top) static CamelFolderInfo * nntp_store_get_folder_info (CamelStore *store, const char *top, - gboolean fast, gboolean recursive, - gboolean subscribed_only, + guint32 flags, CamelException *ex) { CamelURL *url = CAMEL_SERVICE (store)->url; @@ -491,7 +488,7 @@ nntp_store_get_folder_info (CamelStore *store, const char *top, return NULL; } - if (!subscribed_only) { + if (!(flags & CAMEL_STORE_FOLDER_INFO_SUBSCRIBED)) { if (!nntp_store->group_list) nntp_store->group_list = camel_nntp_grouplist_fetch (nntp_store, ex); if (camel_exception_is_set (ex)) { @@ -716,6 +713,16 @@ camel_nntp_command (CamelNNTPStore *store, CamelException *ex, char **ret, char resp_code = camel_nntp_command_send_recv (store, ex, ret, cmdbuf); + if(camel_exception_get_id(ex) == + CAMEL_EXCEPTION_SERVICE_NOT_CONNECTED) { + /* the connect might have timed out, give it another shot.. */ + camel_exception_clear(ex); + if(nntp_store_connect(CAMEL_SERVICE(store), ex)) + resp_code = + camel_nntp_command_send_recv (store, ex, ret, cmdbuf); + /* that's it, no more tries */ + } + g_free (cmdbuf); return resp_code; |