diff options
Diffstat (limited to 'camel/providers/imap/camel-imap-command.c')
-rw-r--r-- | camel/providers/imap/camel-imap-command.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/camel/providers/imap/camel-imap-command.c b/camel/providers/imap/camel-imap-command.c index ef7dd1ba35..e3581c80af 100644 --- a/camel/providers/imap/camel-imap-command.c +++ b/camel/providers/imap/camel-imap-command.c @@ -37,9 +37,11 @@ #include "camel-imap-utils.h" #include "camel-imap-folder.h" #include "camel-imap-store.h" +#include "camel-imap-store-summary.h" #include "camel-imap-private.h" #include <camel/camel-exception.h> #include <camel/camel-private.h> +#include <camel/camel-utf8.h> #define d(x) x @@ -764,8 +766,10 @@ imap_command_strdup_vprintf (CamelImapStore *store, const char *fmt, case 'S': case 'F': string = args->pdata[i++]; - if (*p == 'F') - string = imap_mailbox_encode (string, strlen (string)); + 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); |