dovecot-2.0: maildir_list_iter_is_mailbox() should return 0 for ...
dovecot at dovecot.org
dovecot at dovecot.org
Tue Jul 28 02:04:46 EEST 2009
details: http://hg.dovecot.org/dovecot-2.0/rev/80cf689acdb4
changeset: 9682:80cf689acdb4
user: Timo Sirainen <tss at iki.fi>
date: Mon Jul 27 18:53:32 2009 -0400
description:
maildir_list_iter_is_mailbox() should return 0 for non-existing maildirs.
diffstat:
1 file changed, 5 insertions(+), 1 deletion(-)
src/lib-storage/index/maildir/maildir-storage.c | 6 +++++-
diffs (37 lines):
diff -r cf187692fcfe -r 80cf689acdb4 src/lib-storage/index/maildir/maildir-storage.c
--- a/src/lib-storage/index/maildir/maildir-storage.c Mon Jul 27 18:47:16 2009 -0400
+++ b/src/lib-storage/index/maildir/maildir-storage.c Mon Jul 27 18:53:32 2009 -0400
@@ -867,6 +867,7 @@ maildir_list_iter_is_mailbox(struct mail
{
struct stat st, st2;
const char *path, *cur_path;
+ int ret;
if (maildir_is_internal_name(fname)) {
*flags |= MAILBOX_NONEXISTENT;
@@ -898,13 +899,16 @@ maildir_list_iter_is_mailbox(struct mail
}
return 0;
}
+ ret = 1;
} else if (errno == ENOENT) {
/* doesn't exist - probably a non-existing subscribed mailbox */
*flags |= MAILBOX_NONEXISTENT;
+ ret = 0;
} else {
/* non-selectable. probably either access denied, or symlink
destination not found. don't bother logging errors. */
*flags |= MAILBOX_NOSELECT;
+ ret = 1;
}
if ((*flags & (MAILBOX_NOSELECT | MAILBOX_NONEXISTENT)) == 0) {
/* make sure it's a selectable mailbox */
@@ -941,7 +945,7 @@ maildir_list_iter_is_mailbox(struct mail
}
}
}
- return 1;
+ return ret;
}
static int
More information about the dovecot-cvs
mailing list