dovecot-2.1: lib-storage: Fixed attempting to delete a non-symli...

dovecot at dovecot.org dovecot at dovecot.org
Wed Aug 1 14:14:06 EEST 2012


details:   http://hg.dovecot.org/dovecot-2.1/rev/8029f1b4afd0
changeset: 14646:8029f1b4afd0
user:      Timo Sirainen <tss at iki.fi>
date:      Wed Aug 01 14:13:40 2012 +0300
description:
lib-storage: Fixed attempting to delete a non-symlink with Solaris
Also fixed error message to say it's about unlink(), not stat().

diffstat:

 src/lib-storage/list/mailbox-list-delete.c |  5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)

diffs (18 lines):

diff -r a606e9ff1476 -r 8029f1b4afd0 src/lib-storage/list/mailbox-list-delete.c
--- a/src/lib-storage/list/mailbox-list-delete.c	Tue Jul 31 23:10:53 2012 +0300
+++ b/src/lib-storage/list/mailbox-list-delete.c	Wed Aug 01 14:13:40 2012 +0300
@@ -341,11 +341,12 @@
 	if (errno == ENOENT) {
 		mailbox_list_set_error(list, MAIL_ERROR_NOTFOUND,
 			T_MAIL_ERR_MAILBOX_NOT_FOUND(name));
-	} else if (errno == EISDIR) {
+	} else if (errno == EISDIR ||
+		   errno == EPERM) { /* Solaris */
 		mailbox_list_set_error(list, MAIL_ERROR_NOTPOSSIBLE,
 				       "Mailbox isn't a symlink");
 	} else {
-		mailbox_list_set_critical(list, "stat(%s) failed: %m", path);
+		mailbox_list_set_critical(list, "unlink(%s) failed: %m", path);
 	}
 	return -1;
 }


More information about the dovecot-cvs mailing list