}
irec = data;
- if (!ilist->has_backing_store && guid_128_is_empty(irec->guid) &&
- (rec->flags & (MAILBOX_LIST_INDEX_FLAG_NONEXISTENT |
- MAILBOX_LIST_INDEX_FLAG_NOSELECT)) == 0) {
- /* no backing store and mailbox has no GUID.
- it can't be selectable, but the flag is missing. */
- node->flags |= MAILBOX_LIST_INDEX_FLAG_NOSELECT;
- *error_r = "mailbox is missing guid - "
- "setting it non-selectable";
- node->corrupted_flags = TRUE;
- }
- if (!ilist->has_backing_store && !guid_128_is_empty(irec->guid) &&
- (rec->flags & (MAILBOX_LIST_INDEX_FLAG_NONEXISTENT |
- MAILBOX_LIST_INDEX_FLAG_NOSELECT)) != 0) {
- node->flags &= ~(MAILBOX_LIST_INDEX_FLAG_NONEXISTENT |
- MAILBOX_LIST_INDEX_FLAG_NOSELECT);
- *error_r = "non-selectable mailbox already has GUID - "
- "marking it selectable";
- node->corrupted_flags = TRUE;
- }
-
node->name_id = irec->name_id;
if (node->name_id == 0) {
/* invalid name_id - assign a new one */
/* generate a new name and use it */
mailbox_list_index_generate_name(ilist, node, "unknown-");
}
+
+ if (!ilist->has_backing_store && guid_128_is_empty(irec->guid) &&
+ (rec->flags & (MAILBOX_LIST_INDEX_FLAG_NONEXISTENT |
+ MAILBOX_LIST_INDEX_FLAG_NOSELECT)) == 0) {
+ /* no backing store and mailbox has no GUID.
+ it can't be selectable, but the flag is missing. */
+ node->flags |= MAILBOX_LIST_INDEX_FLAG_NOSELECT;
+ *error_r = t_strdup_printf(
+ "mailbox '%s' (uid=%u) is missing GUID - "
+ "marking it non-selectable", node->name, node->uid);
+ node->corrupted_flags = TRUE;
+ }
+ if (!ilist->has_backing_store && !guid_128_is_empty(irec->guid) &&
+ (rec->flags & (MAILBOX_LIST_INDEX_FLAG_NONEXISTENT |
+ MAILBOX_LIST_INDEX_FLAG_NOSELECT)) != 0) {
+ node->flags &= ~(MAILBOX_LIST_INDEX_FLAG_NONEXISTENT |
+ MAILBOX_LIST_INDEX_FLAG_NOSELECT);
+ *error_r = t_strdup_printf(
+ "non-selectable mailbox '%s' (uid=%u) already has GUID - "
+ "marking it selectable", node->name, node->uid);
+ node->corrupted_flags = TRUE;
+ }
+
hash_table_insert(ilist->mailbox_hash,
POINTER_CAST(node->uid), node);
}