]>
Commit | Line | Data |
---|---|---|
36f6ebce PZ |
1 | diff -p -u -2 -r1.73 camel-imap-command.c |
2 | --- camel/providers/imap/camel-imap-command.c 1 Dec 2005 07:26:34 -0000 1.73 | |
3 | +++ camel/providers/imap/camel-imap-command.c 14 Dec 2005 14:08:32 -0000 | |
4 | @@ -767,9 +767,17 @@ imap_command_strdup_vprintf (CamelImapSt | |
5 | case 'F': | |
6 | string = va_arg (ap, char *); | |
7 | + /* NB: string is freed during output */ | |
8 | if (*p == 'F') { | |
9 | - /* NB: this is freed during output */ | |
10 | char *s = camel_imap_store_summary_full_from_path(store->summary, string); | |
11 | - string = s?s:camel_utf8_utf7(string); | |
12 | + if (s) { | |
13 | + string = camel_utf8_utf7(s); | |
14 | + g_free(s); | |
15 | + } else { | |
16 | + string = camel_utf8_utf7(string); | |
17 | + } | |
18 | + } else { | |
19 | + string = camel_utf8_utf7(string); | |
20 | } | |
21 | + | |
22 | arglen = strlen (string); | |
23 | g_ptr_array_add (args, string); | |
24 | @@ -836,6 +844,5 @@ imap_command_strdup_vprintf (CamelImapSt | |
25 | } | |
26 | ||
27 | - if (*p == 'F') | |
28 | - g_free (string); | |
29 | + g_free (string); | |
30 | break; | |
31 | default: | |
32 | diff -p -u -2 -r1.16 camel-imap-store-summary.c | |
33 | --- camel/providers/imap/camel-imap-store-summary.c 31 Aug 2005 04:26:02 -0000 1.16 | |
34 | +++ camel/providers/imap/camel-imap-store-summary.c 14 Dec 2005 14:08:33 -0000 | |
35 | @@ -196,5 +196,5 @@ camel_imap_store_summary_full_to_path(Ca | |
36 | path = (char *)full_name; | |
37 | ||
38 | - return camel_utf7_utf8(path); | |
39 | + return g_strdup(path); | |
40 | } | |
41 | ||
42 | @@ -274,5 +274,5 @@ camel_imap_store_summary_path_to_full(Ca | |
43 | ||
44 | /* merge old path part if required */ | |
45 | - f = camel_utf8_utf7(full); | |
46 | + f = g_strdup(full); | |
47 | if (si) { | |
48 | full = g_strdup_printf("%s%s", camel_imap_store_info_full_name(s, si), f); |