]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
dsync: Minor fixes to checking if namespace is wanted to be synced.
authorTimo Sirainen <tss@iki.fi>
Mon, 17 Jun 2013 11:39:59 +0000 (14:39 +0300)
committerTimo Sirainen <tss@iki.fi>
Mon, 17 Jun 2013 11:39:59 +0000 (14:39 +0300)
src/doveadm/dsync/dsync-brain-mailbox-tree.c

index fc9b79e103384f028ebc5fba9f0072a93c92af51..a3fb159e8e60c1f1dbf27795b01f87363f6ac250 100644 (file)
@@ -14,8 +14,8 @@
 static bool dsync_brain_want_namespace(struct dsync_brain *brain,
                                       struct mail_namespace *ns)
 {
-       if (brain->sync_ns == ns)
-               return TRUE;
+       if (brain->sync_ns != NULL)
+               return brain->sync_ns == ns;
        if (ns->alias_for != NULL) {
                /* always skip aliases */
                return FALSE;
@@ -26,11 +26,11 @@ static bool dsync_brain_want_namespace(struct dsync_brain *brain,
                if ((ns->flags & (NAMESPACE_FLAG_LIST_PREFIX |
                                  NAMESPACE_FLAG_LIST_CHILDREN)) != 0)
                        return TRUE;
+               return FALSE;
+       } else {
+               return strcmp(ns->unexpanded_set->location,
+                             SETTING_STRVAR_UNEXPANDED) == 0;
        }
-
-       return brain->sync_ns == NULL &&
-               strcmp(ns->unexpanded_set->location,
-                      SETTING_STRVAR_UNEXPANDED) == 0;
 }
 
 static void dsync_brain_check_namespaces(struct dsync_brain *brain)