aboutsummaryrefslogtreecommitdiffstats
path: root/camel/camel-filter-driver.c
diff options
context:
space:
mode:
author1 <NotZed@Ximian.com>2001-11-01 07:55:45 +0800
committerMichael Zucci <zucchi@src.gnome.org>2001-11-01 07:55:45 +0800
commit7a1dfcef582242643fabd50688e0421ff398d645 (patch)
tree1bbc1b506677140cece96a969f91b27b19c4e703 /camel/camel-filter-driver.c
parent49bad8cf37fc85a59fb6d2ea199770b33a92f458 (diff)
downloadgsoc2013-evolution-7a1dfcef582242643fabd50688e0421ff398d645.tar.gz
gsoc2013-evolution-7a1dfcef582242643fabd50688e0421ff398d645.tar.zst
gsoc2013-evolution-7a1dfcef582242643fabd50688e0421ff398d645.zip
Same as below.
2001-10-31 <NotZed@Ximian.com> * providers/local/camel-spool-folder.c (spool_get_message): Same as below. * providers/local/camel-maildir-folder.c (maildir_get_message): Same as below. * providers/local/camel-mbox-folder.c (mbox_get_message): Set USER_CANCEL if failed due to EINTR. * camel-filter-driver.c (camel_filter_driver_filter_mbox): If construct from parser fails due to user cancel, set USER_CANCEL on exception. * camel-mime-part.c (construct_from_parser): Return error if the parser had an io error. * camel-mime-message.c (construct_from_parser): Check error on parser/return error. * camel-mime-parser.c (folder_scan_init): Init error number. (camel_mime_parser_errno): New function, return errno of any io failures. (folder_read): Set errno if a failure occured. (folder_seek): Same. (folder_scan_init_with_fd): Setup errno depeding on ok/failure. (folder_scan_init_with_stream): Same. svn path=/trunk/; revision=14559
Diffstat (limited to 'camel/camel-filter-driver.c')
-rw-r--r--camel/camel-filter-driver.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/camel/camel-filter-driver.c b/camel/camel-filter-driver.c
index 07216efb72..1b9c30efb6 100644
--- a/camel/camel-filter-driver.c
+++ b/camel/camel-filter-driver.c
@@ -29,6 +29,8 @@
#include <glib.h>
+#include <errno.h>
+
#include "camel-filter-driver.h"
#include "camel-filter-search.h"
@@ -687,8 +689,8 @@ camel_filter_driver_filter_mbox (CamelFilterDriver *driver, const char *mbox, co
msg = camel_mime_message_new ();
if (camel_mime_part_construct_from_parser (CAMEL_MIME_PART (msg), mp) == -1) {
+ camel_exception_set (ex, (errno==EINTR)?CAMEL_EXCEPTION_USER_CANCEL:CAMEL_EXCEPTION_SYSTEM, _("Cannot open message"));
report_status (driver, CAMEL_FILTER_STATUS_END, 100, _("Failed on message %d"), i);
- camel_exception_set (ex, CAMEL_EXCEPTION_SYSTEM, _("Cannot open message"));
camel_object_unref (CAMEL_OBJECT (msg));
goto fail;
}
@@ -715,7 +717,7 @@ camel_filter_driver_filter_mbox (CamelFilterDriver *driver, const char *mbox, co
if (p->defaultfolder) {
report_status(driver, CAMEL_FILTER_STATUS_PROGRESS, 100, _("Syncing folder"));
- camel_folder_sync(p->defaultfolder, FALSE, ex);
+ camel_folder_sync(p->defaultfolder, FALSE, camel_exception_is_set (ex) ? NULL : ex);
}
report_status (driver, CAMEL_FILTER_STATUS_END, 100, _("Complete"));