From 5c4fa91212db9383a3b9833d835f7484b4e72bf0 Mon Sep 17 00:00:00 2001 From: Not Zed Date: Tue, 17 Jun 2003 03:20:59 +0000 Subject: ** See bug #44322 2003-06-16 Not Zed ** See bug #44322 * providers/imap/camel-imap-command.c (imap_command_strdup_vprintf): If we are outputting a folder name, make sure we calculate buffer size based on the raw/utf7 version ** See bug #44121 * camel-multipart-signed.c (signed_get_part): If we can't parse the content, but we have a stream, just use that as the content. svn path=/trunk/; revision=21454 --- camel/ChangeLog | 13 +++++++++++++ camel/camel-multipart-signed.c | 5 ++++- camel/providers/imap/camel-imap-command.c | 12 ++++++------ 3 files changed, 23 insertions(+), 7 deletions(-) (limited to 'camel') diff --git a/camel/ChangeLog b/camel/ChangeLog index 968dcc4e0a..1fac038131 100644 --- a/camel/ChangeLog +++ b/camel/ChangeLog @@ -1,3 +1,16 @@ +2003-06-16 Not Zed + + ** See bug #44322 + + * providers/imap/camel-imap-command.c (imap_command_strdup_vprintf): + If we are outputting a folder name, make sure we calculate buffer + size based on the raw/utf7 version + + ** See bug #44121 + + * camel-multipart-signed.c (signed_get_part): If we can't parse + the content, but we have a stream, just use that as the content. + 2003-06-05 Jeffrey Stedfast Fix for bug #40788. diff --git a/camel/camel-multipart-signed.c b/camel/camel-multipart-signed.c index 5bce467295..a089cb0cc3 100644 --- a/camel/camel-multipart-signed.c +++ b/camel/camel-multipart-signed.c @@ -334,13 +334,16 @@ signed_get_part(CamelMultipart *multipart, guint index) return NULL; } else if (dw->stream == NULL) { return NULL; + } else if (mps->start1 == -1) { + stream = dw->stream; + camel_object_ref(stream); } else { stream = camel_seekable_substream_new((CamelSeekableStream *)dw->stream, mps->start1, mps->end1); } camel_stream_reset(stream); mps->content = camel_mime_part_new(); camel_data_wrapper_construct_from_stream((CamelDataWrapper *)mps->content, stream); - camel_object_unref((CamelObject *)stream); + camel_object_unref(stream); return mps->content; case CAMEL_MULTIPART_SIGNED_SIGNATURE: if (mps->signature) diff --git a/camel/providers/imap/camel-imap-command.c b/camel/providers/imap/camel-imap-command.c index 5b6293bdb6..45e5751b87 100644 --- a/camel/providers/imap/camel-imap-command.c +++ b/camel/providers/imap/camel-imap-command.c @@ -699,7 +699,7 @@ imap_command_strdup_vprintf (CamelImapStore *store, const char *fmt, const char *p, *start; char *out, *outptr, *string; int num, len, i, arglen; - + args = g_ptr_array_new (); /* Determine the length of the data */ @@ -726,6 +726,11 @@ imap_command_strdup_vprintf (CamelImapStore *store, const char *fmt, case 'S': case 'F': string = va_arg (ap, char *); + if (*p == 'F') { + /* NB: this is freed during output */ + char *s = camel_imap_store_summary_full_from_path(store->summary, string); + string = s?s:camel_utf8_utf7(string); + } arglen = strlen (string); g_ptr_array_add (args, string); if (imap_is_atom (string)) { @@ -776,11 +781,6 @@ imap_command_strdup_vprintf (CamelImapStore *store, const char *fmt, case 'S': case 'F': string = args->pdata[i++]; - if (*p == 'F') { - char *s = camel_imap_store_summary_full_from_path(store->summary, string); - string = s?s:camel_utf8_utf7(string); - } - if (imap_is_atom (string)) { outptr += sprintf (outptr, "%s", string); } else { -- cgit