- MAKE_DIR_IF_NOT_EXIST(INBOX_DIR);
- MAKE_DIR_IF_NOT_EXIST(OUTBOX_DIR);
- MAKE_DIR_IF_NOT_EXIST(QUEUE_DIR);
- MAKE_DIR_IF_NOT_EXIST(DRAFT_DIR);
- MAKE_DIR_IF_NOT_EXIST(TRASH_DIR);
+
+ /* Create special directories as needed */
+ if (folder->inbox != NULL &&
+ folder->inbox->path != NULL)
+ f = folder->inbox->path;
+ else
+ f = INBOX_DIR;
+ MAKE_DIR_IF_NOT_EXIST(f);
+
+ if (folder->outbox != NULL &&
+ folder->outbox->path != NULL)
+ f = folder->outbox->path;
+ else
+ f = OUTBOX_DIR;
+ MAKE_DIR_IF_NOT_EXIST(f);
+
+ if (folder->draft != NULL &&
+ folder->draft->path != NULL)
+ f = folder->draft->path;
+ else
+ f = DRAFT_DIR;
+ MAKE_DIR_IF_NOT_EXIST(f);
+
+ if (folder->queue != NULL &&
+ folder->queue->path != NULL)
+ f = folder->queue->path;
+ else
+ f = QUEUE_DIR;
+ MAKE_DIR_IF_NOT_EXIST(f);
+
+ if (folder->trash != NULL &&
+ folder->trash->path != NULL)
+ f = folder->trash->path;
+ else
+ f = TRASH_DIR;
+ MAKE_DIR_IF_NOT_EXIST(f);