Lines Matching defs:root
23 parent_root_idx points to root_idx1, or 0 for root. */
272 struct mail_thread_root_node *roots, *root, new_root;
282 root = cur;
284 i_assert(root->parent_root_idx1 <= count);
285 root = &roots[root->parent_root_idx1 - 1];
286 } while (root->parent_root_idx1 != 0);
287 i_assert(!root->ignore);
295 i_assert(root->dummy);
300 thread_add_shadow_child(ctx, root->node.idx, idx);
306 } else if (root->dummy || (cur->reply_or_forward &&
307 !root->reply_or_forward)) {
317 thread_add_shadow_child(ctx, root->node.idx, cur->node.idx);
329 thread_add_shadow_child(ctx, new_root.node.idx, root->node.idx);
332 root->parent_root_idx1 = new_root.root_idx1;
333 root->ignore = TRUE;
336 /* append last, since it breaks root and cur pointers */
390 promote the child to the root. */
409 const struct mail_thread_root_node *root = value;
411 return *idx < root->node.idx ? -1 :
412 *idx > root->node.idx ? 1 : 0;
419 struct mail_thread_root_node *roots, *root;
449 root = bsearch(&parent_idx, roots, root_count, sizeof(*roots),
451 i_assert(root != NULL);
453 if (root->node.sort_date < child.sort_date)
454 root->node.sort_date = child.sort_date;
463 struct mail_thread_root_node root;
469 i_zero(&root);
481 /* root node - add to roots list */
482 root.node.idx = idx;
484 root.dummy = TRUE;
485 root.node.uid = 0;
487 root.dummy = FALSE;
488 root.node.uid = node->uid;
490 array_append(&ctx->roots, &root, 1);
522 /* (2) save root nodes and (3) remove dummy messages */
535 /* (5) Gather together messages under the root that have
540 /* root ordering may have changed, sort them again. */
553 nodes_change_uids_to_seqs(struct mail_thread_iterate_context *iter, bool root)
564 /* dummy root */
565 if (root)