diff options
Diffstat (limited to 'camel/providers')
-rw-r--r-- | camel/providers/imap4/camel-imap4-store.c | 30 | ||||
-rw-r--r-- | camel/providers/imap4/camel-imap4-utils.c | 3 |
2 files changed, 16 insertions, 17 deletions
diff --git a/camel/providers/imap4/camel-imap4-store.c b/camel/providers/imap4/camel-imap4-store.c index 37c203479e..adf8ffbbe4 100644 --- a/camel/providers/imap4/camel-imap4-store.c +++ b/camel/providers/imap4/camel-imap4-store.c @@ -592,26 +592,26 @@ static char * imap4_folder_utf7_name (CamelStore *store, const char *folder_name, char wildcard) { char *real_name, *p; - char sep; + char sep = '\0'; int len; - sep = camel_imap4_get_path_delim (((CamelIMAP4Store *) store)->summary, folder_name); - - if (sep != '/') { - p = real_name = g_alloca (strlen (folder_name) + 1); - strcpy (real_name, folder_name); - while (*p != '\0') { - if (*p == '/') - *p = sep; - p++; + if (*folder_name) { + sep = camel_imap4_get_path_delim (((CamelIMAP4Store *) store)->summary, folder_name); + + if (sep != '/') { + p = real_name = g_alloca (strlen (folder_name) + 1); + strcpy (real_name, folder_name); + while (*p != '\0') { + if (*p == '/') + *p = sep; + p++; + } + + folder_name = real_name; } - folder_name = real_name; - } - - if (*folder_name) real_name = camel_utf8_utf7 (folder_name); - else + } else real_name = g_strdup (""); if (wildcard) { diff --git a/camel/providers/imap4/camel-imap4-utils.c b/camel/providers/imap4/camel-imap4-utils.c index c95438e95a..29ffb945fe 100644 --- a/camel/providers/imap4/camel-imap4-utils.c +++ b/camel/providers/imap4/camel-imap4-utils.c @@ -144,8 +144,7 @@ camel_imap4_get_path_delim (CamelIMAP4StoreSummary *s, const char *full_name) size_t len; char *top; - if (s->namespaces == NULL) - return '/'; + g_return_val_if_fail (s->namespaces != NULL, '/'); if ((slash = strchr (full_name, '/'))) len = (slash - full_name); |