aboutsummaryrefslogtreecommitdiffstats
path: root/camel/providers/imap
diff options
context:
space:
mode:
Diffstat (limited to 'camel/providers/imap')
-rw-r--r--camel/providers/imap/camel-imap-folder.c9
-rw-r--r--camel/providers/imap/camel-imap-store.c7
2 files changed, 10 insertions, 6 deletions
diff --git a/camel/providers/imap/camel-imap-folder.c b/camel/providers/imap/camel-imap-folder.c
index 2f6af670a2..37e4b06d9c 100644
--- a/camel/providers/imap/camel-imap-folder.c
+++ b/camel/providers/imap/camel-imap-folder.c
@@ -57,7 +57,8 @@ static CamelFolderClass *parent_class = NULL;
static void imap_init (CamelFolder *folder, CamelStore *parent_store,
CamelFolder *parent_folder, const gchar *name,
- gchar separator, CamelException *ex);
+ gchar *separator, gboolean path_begns_with_sep,
+ CamelException *ex);
static void imap_open (CamelFolder *folder, CamelFolderOpenMode mode, CamelException *ex);
static void imap_close (CamelFolder *folder, gboolean expunge, CamelException *ex);
@@ -174,7 +175,7 @@ camel_imap_folder_new (CamelStore *parent, CamelException *ex)
{
CamelFolder *folder = CAMEL_FOLDER (gtk_object_new (camel_imap_folder_get_type (), NULL));
- CF_CLASS (folder)->init (folder, parent, NULL, "INBOX", '/', ex);
+ CF_CLASS (folder)->init (folder, parent, NULL, "INBOX", "/", FALSE, ex);
return folder;
}
@@ -187,12 +188,12 @@ imap_finalize (GtkObject *object)
static void
imap_init (CamelFolder *folder, CamelStore *parent_store, CamelFolder *parent_folder,
- const gchar *name, gchar separator, CamelException *ex)
+ const gchar *name, gchar *separator, gboolean path_begins_with_sep, CamelException *ex)
{
CamelImapFolder *imap_folder = CAMEL_IMAP_FOLDER (folder);
/* call parent method */
- parent_class->init (folder, parent_store, parent_folder, name, separator, ex);
+ parent_class->init (folder, parent_store, parent_folder, name, separator, path_begins_with_sep, ex);
if (camel_exception_get_id (ex))
return;
diff --git a/camel/providers/imap/camel-imap-store.c b/camel/providers/imap/camel-imap-store.c
index 96a830e210..65290336c4 100644
--- a/camel/providers/imap/camel-imap-store.c
+++ b/camel/providers/imap/camel-imap-store.c
@@ -324,16 +324,19 @@ imap_create (CamelFolder *folder, CamelException *ex)
gint status;
g_return_val_if_fail (folder != NULL, FALSE);
-
+
if (!(folder->full_name || folder->name)) {
camel_exception_set (ex, CAMEL_EXCEPTION_FOLDER_INVALID,
"invalid folder path. Use set_name ?");
return FALSE;
}
+
+ if (!strcmp(folder->full_name, "INBOX"))
+ return TRUE;
if (camel_folder_get_subfolder(folder->parent_folder, folder->name, FALSE, ex))
return TRUE;
-
+
/* create the directory for the subfolder */
status = camel_imap_command_extended (CAMEL_IMAP_STORE (folder->parent_store), NULL,
&result, "CREATE %s", folder->full_name);