diff options
-rw-r--r-- | camel/ChangeLog | 8 | ||||
-rw-r--r-- | camel/providers/imap4/camel-imap4-store.c | 30 | ||||
-rw-r--r-- | camel/providers/imap4/camel-imap4-utils.c | 3 |
3 files changed, 22 insertions, 19 deletions
diff --git a/camel/ChangeLog b/camel/ChangeLog index 455c704c5a..61e4fb639d 100644 --- a/camel/ChangeLog +++ b/camel/ChangeLog @@ -1,8 +1,12 @@ 2004-11-02 Jeffrey Stedfast <fejj@novell.com> + * providers/imap4/camel-imap4-store.c (imap4_folder_utf7_name): + Don't bother getting the folder delim if the name is "" since we + don't need it in that case. + * providers/imap4/camel-imap4-utils.c - (camel_imap4_get_path_delim): If namespaces is NULL, return the - default folder delim ('/'). + (camel_imap4_get_path_delim): add an assert that s->namespaces is + non-NULL. * providers/imap4/camel-imap4-stream.c (camel_imap4_stream_literal): Update stream->inptr after fetching 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); |