diff src/lib-storage/list/mailbox-list-maildir-iter.c @ 5448:beabd433cdae HEAD

Moved delete/rename operations to mailbox_list API. Fixed mbox/maildir to work with either fs/maildir++ directory layout. They can be changed by appending :LAYOUT=fs|maildir++ to mail_location.
author Timo Sirainen <tss@iki.fi>
date Thu, 29 Mar 2007 10:59:11 +0300
parents 967de900c73a
children b5404d36494f
line wrap: on
line diff
--- a/src/lib-storage/list/mailbox-list-maildir-iter.c	Wed Mar 28 23:07:38 2007 +0300
+++ b/src/lib-storage/list/mailbox-list-maildir-iter.c	Thu Mar 29 10:59:11 2007 +0300
@@ -98,10 +98,9 @@
 
 		/* check if this is an actual mailbox */
 		flags = 0;
-		ret = ctx->ctx.list->callback(ctx->dir, fname,
-					      mailbox_list_get_file_type(d),
-					      ctx->ctx.flags, &flags,
-					      ctx->ctx.list->context);
+		ret = ctx->ctx.list->v.
+			iter_is_mailbox(&ctx->ctx, ctx->dir, fname,
+					mailbox_list_get_file_type(d), &flags);
 		if (ret < 0) {
 			t_pop();
 			return -1;
@@ -149,6 +148,11 @@
 				node->flags |= MAILBOX_FLAG_MATCHED;
 			}
 		}
+		if (node != NULL) {
+			node->flags |= flags & ~(MAILBOX_NOINFERIORS |
+						 MAILBOX_CHILDREN |
+						 MAILBOX_NOCHILDREN);
+		}
 	}
 	t_pop();