aboutsummaryrefslogtreecommitdiffstats
path: root/camel/providers/imap
diff options
context:
space:
mode:
authorNot Zed <NotZed@Ximian.com>2003-06-17 11:20:59 +0800
committerMichael Zucci <zucchi@src.gnome.org>2003-06-17 11:20:59 +0800
commit5c4fa91212db9383a3b9833d835f7484b4e72bf0 (patch)
tree4225efadbdcc1ff240c24e3f2ff1d57a45bfd58e /camel/providers/imap
parentcec1fb093d53dc08d92b0e2f245640817c5a0fc2 (diff)
downloadgsoc2013-evolution-5c4fa91212db9383a3b9833d835f7484b4e72bf0.tar
gsoc2013-evolution-5c4fa91212db9383a3b9833d835f7484b4e72bf0.tar.gz
gsoc2013-evolution-5c4fa91212db9383a3b9833d835f7484b4e72bf0.tar.bz2
gsoc2013-evolution-5c4fa91212db9383a3b9833d835f7484b4e72bf0.tar.lz
gsoc2013-evolution-5c4fa91212db9383a3b9833d835f7484b4e72bf0.tar.xz
gsoc2013-evolution-5c4fa91212db9383a3b9833d835f7484b4e72bf0.tar.zst
gsoc2013-evolution-5c4fa91212db9383a3b9833d835f7484b4e72bf0.zip
** See bug #44322
2003-06-16 Not Zed <NotZed@Ximian.com> ** 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
Diffstat (limited to 'camel/providers/imap')
-rw-r--r--camel/providers/imap/camel-imap-command.c12
1 files changed, 6 insertions, 6 deletions
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 {