Lines Matching refs:node
85 struct mailbox_node **node, *parent;
99 node = &tree->nodes;
110 /* find the node */
111 while (*node != NULL) {
112 if (strcmp((*node)->name, name) == 0)
115 node = &(*node)->next;
118 if (*node == NULL) {
123 *node = p_malloc(tree->pool, tree->node_size);
124 (*node)->parent = parent;
125 (*node)->name = p_strdup(tree->pool, name);
127 (*node)->flags = MAILBOX_NONEXISTENT;
137 parent = *node;
138 node = &(*node)->children;
141 return *node;
148 struct mailbox_node *node;
152 node = mailbox_tree_traverse(tree, path, TRUE, &created);
155 node->flags = 0;
158 return node;
164 struct mailbox_node *node;
170 node = mailbox_tree_traverse(tree, path, FALSE, &created);
172 return node;
195 struct mailbox_node *node = ctx->next_node;
199 if (node->children != NULL) {
200 array_append(&ctx->node_path, &node, 1);
202 node = node->children;
204 } else if (node->next != NULL) {
205 node = node->next;
208 node = NULL;
215 node = nodes[i-1]->next;
227 ctx->next_node = node;
234 struct mailbox_node *node;
237 node = ctx->next_node;
238 if (node == NULL)
244 if (node->parent != NULL) {
249 str_append(ctx->path_str, node->name);
252 } while ((node->flags & ctx->flags_mask) != ctx->flags_mask);
255 return node;
273 struct mailbox_node *node, *dest_nodes = NULL, **dest = &dest_nodes;
276 *dest = node = p_malloc(dest_tree->pool, dest_tree->node_size);
277 node->name = p_strdup(dest_tree->pool, src->name);
278 node->flags = src->flags;
280 node->parent = dest_parent;
281 node->children = mailbox_tree_dup_branch(dest_tree, node,
283 dest = &node->next;
309 struct mailbox_node *node, *const *nodep, **dest;
316 for (node = *nodes; node != NULL; node = node->next)
317 array_append(tmparr, &node, 1);
320 /* update the node pointers */
329 for (node = *nodes; node != NULL; node = node->next)
330 mailbox_tree_sort_branch(&node->children, tmparr);