changeset 20500:e67b0284f6d1

lib-storage: Clarify that mail_namespace_find_inbox() never returns NULL. If namespaces==NULL, this function isn't even supposed to be called.
author Timo Sirainen <timo.sirainen@dovecot.fi>
date Tue, 05 Jul 2016 20:58:29 +0300
parents f5fa391e098a
children 6be0cfc31ba0
files src/lib-storage/mail-namespace.c src/lib-storage/mail-namespace.h
diffstat 2 files changed, 7 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/src/lib-storage/mail-namespace.c	Tue Jul 05 14:41:41 2016 +0300
+++ b/src/lib-storage/mail-namespace.c	Tue Jul 05 20:58:29 2016 +0300
@@ -735,8 +735,13 @@
 struct mail_namespace *
 mail_namespace_find_inbox(struct mail_namespace *namespaces)
 {
-	while ((namespaces->flags & NAMESPACE_FLAG_INBOX_USER) == 0)
+	i_assert(namespaces != NULL);
+
+	/* there should always be an INBOX */
+	while ((namespaces->flags & NAMESPACE_FLAG_INBOX_USER) == 0) {
 		namespaces = namespaces->next;
+		i_assert(namespaces != NULL);
+	}
 	return namespaces;
 }
 
--- a/src/lib-storage/mail-namespace.h	Tue Jul 05 14:41:41 2016 +0300
+++ b/src/lib-storage/mail-namespace.h	Tue Jul 05 20:58:29 2016 +0300
@@ -142,7 +142,7 @@
 struct mail_namespace *
 mail_namespace_find_unsubscribable(struct mail_namespace *namespaces,
 				   const char *mailbox);
-/* Returns the INBOX namespace, or NULL if there is no such  */
+/* Returns the INBOX namespace. It always exists, so NULL is never returned. */
 struct mail_namespace *
 mail_namespace_find_inbox(struct mail_namespace *namespaces);
 /* Find a namespace with given prefix. */