From 460c0c33231fddbbfac5ed56c58f3a06332d0040 Mon Sep 17 00:00:00 2001 From: Jeffrey Stedfast Date: Wed, 17 Oct 2001 22:23:29 +0000 Subject: Same as maildir and mbox append-message. 2001-10-17 Jeffrey Stedfast * providers/local/camel-mh-folder.c (mh_append_message): Same as maildir and mbox append-message. * providers/local/camel-maildir-folder.c (maildir_append_message): Same as mbox append. * camel-exception.c (camel_exception_set): Make sure the new description isn't the same as the old description pointer before freeing the old one. (camel_exception_setv): Don't free the old description until we set the new one this way we can reuse the old description in the new description. * providers/local/camel-mbox-folder.c (mbox_append_message): If errno == EINTR, then we got a user-cancel so set the exception appropriately so that we don't make the user shit his pants. svn path=/trunk/; revision=13739 --- camel/providers/local/camel-maildir-folder.c | 10 +++++++--- camel/providers/local/camel-mh-folder.c | 10 +++++++--- 2 files changed, 14 insertions(+), 6 deletions(-) (limited to 'camel/providers/local') diff --git a/camel/providers/local/camel-maildir-folder.c b/camel/providers/local/camel-maildir-folder.c index bd7f879038..48eb510219 100644 --- a/camel/providers/local/camel-maildir-folder.c +++ b/camel/providers/local/camel-maildir-folder.c @@ -177,9 +177,13 @@ maildir_append_message (CamelFolder *folder, CamelMimeMessage *message, const Ca camel_folder_summary_remove_uid (CAMEL_FOLDER_SUMMARY (folder->summary), camel_message_info_uid (mi)); - camel_exception_setv (ex, CAMEL_EXCEPTION_SYSTEM, - _("Cannot append message to maildir folder: %s: %s"), - name, g_strerror (errno)); + if (errno == EINTR) + camel_exception_set (ex, CAMEL_EXCEPTION_USER_CANCEL, + _("Maildir append message cancelled")); + else + camel_exception_setv (ex, CAMEL_EXCEPTION_SYSTEM, + _("Cannot append message to maildir folder: %s: %s"), + name, g_strerror (errno)); if (output_stream) { camel_object_unref (CAMEL_OBJECT (output_stream)); diff --git a/camel/providers/local/camel-mh-folder.c b/camel/providers/local/camel-mh-folder.c index cf9bc827bf..eb3cc8f3bf 100644 --- a/camel/providers/local/camel-mh-folder.c +++ b/camel/providers/local/camel-mh-folder.c @@ -168,9 +168,13 @@ mh_append_message (CamelFolder *folder, CamelMimeMessage *message, const CamelMe camel_folder_summary_remove_uid (CAMEL_FOLDER_SUMMARY (folder->summary), camel_message_info_uid (mi)); - camel_exception_setv (ex, CAMEL_EXCEPTION_SYSTEM, - _("Cannot append message to mh folder: %s: %s"), - name, g_strerror (errno)); + if (errno == EINTR) + camel_exception_set (ex, CAMEL_EXCEPTION_USER_CANCEL, + _("MH append message cancelled")); + else + camel_exception_setv (ex, CAMEL_EXCEPTION_SYSTEM, + _("Cannot append message to mh folder: %s: %s"), + name, g_strerror (errno)); if (output_stream) { camel_object_unref (CAMEL_OBJECT (output_stream)); -- cgit v1.2.3