diff options
-rw-r--r-- | camel/ChangeLog | 13 | ||||
-rw-r--r-- | camel/camel-mime-part-utils.c | 3 | ||||
-rw-r--r-- | camel/providers/imap/camel-imap-folder.c | 2 | ||||
-rw-r--r-- | camel/providers/local/camel-spool-summary.c | 7 |
4 files changed, 24 insertions, 1 deletions
diff --git a/camel/ChangeLog b/camel/ChangeLog index 75af583835..343e98921d 100644 --- a/camel/ChangeLog +++ b/camel/ChangeLog @@ -1,3 +1,16 @@ +2002-04-11 Not Zed <NotZed@Ximian.com> + + * providers/local/camel-spool-summary.c (spool_summary_sync_full): + If the last message(s) were deleted, and we had any messages + output, account for the lost \n of the following From line by + adding an extra \n. fix for #8214. + +2002-04-10 Not Zed <NotZed@Ximian.com> + + * camel-mime-part-utils.c (convert_buffer): If we get a 0 length + input, return a 0 lenght output as valid - fixes bugs with some + iconv impl and its simpler anyway. + 2002-04-11 Jeffrey Stedfast <fejj@ximian.com> * providers/imap/camel-imap-folder.c: Set the UID_SET_LIMIT value diff --git a/camel/camel-mime-part-utils.c b/camel/camel-mime-part-utils.c index 0d79c02e9a..987e5e77d7 100644 --- a/camel/camel-mime-part-utils.c +++ b/camel/camel-mime-part-utils.c @@ -108,6 +108,9 @@ convert_buffer (GByteArray *in, const char *to, const char *from) char *outbuf; iconv_t cd; + if (in->len == 0) + return g_byte_array_new(); + d(printf("converting buffer from %s to %s: '%.*s'\n", from, to, (int)in->len, in->data)); cd = e_iconv_open(to, from); diff --git a/camel/providers/imap/camel-imap-folder.c b/camel/providers/imap/camel-imap-folder.c index a2931e3d8a..811533d25a 100644 --- a/camel/providers/imap/camel-imap-folder.c +++ b/camel/providers/imap/camel-imap-folder.c @@ -1731,7 +1731,7 @@ add_message_from_data (CamelFolder *folder, GPtrArray *messages, if (seq - first >= messages->len) g_ptr_array_set_size (messages, seq - first + 1); - + msg = camel_mime_message_new (); if (camel_data_wrapper_construct_from_stream (CAMEL_DATA_WRAPPER (msg), stream) == -1) { camel_object_unref (CAMEL_OBJECT (msg)); diff --git a/camel/providers/local/camel-spool-summary.c b/camel/providers/local/camel-spool-summary.c index d8c85b9e6d..ff8f6a85a9 100644 --- a/camel/providers/local/camel-spool-summary.c +++ b/camel/providers/local/camel-spool-summary.c @@ -784,6 +784,13 @@ spool_summary_sync_full(CamelSpoolSummary *cls, gboolean expunge, CamelFolderCha } } + /* if the last message was deleted, and we had any messages left, + make sure we close out with a closing \n - since we removed the + one part of the From line following it */ + if (lastdel && count > 0) { + write(fdout, "\n", 1); + } + /* sync out content */ if (fsync(fdout) == -1) { g_warning("Cannot sync temporary folder: %s", strerror(errno)); |