Lines Matching refs:node

117 mailbox_list_index_node_find_sibling(struct mailbox_list_index_node *node,
120 while (node != NULL) {
121 if (strcmp(node->name, name) == 0)
122 return node;
123 node = node->next;
132 struct mailbox_list_index_node *node = ilist->mailbox_tree;
138 return mailbox_list_index_node_find_sibling(node, "");
143 node = mailbox_list_index_node_find_sibling(node, path[i]);
144 if (node == NULL || path[i+1] == NULL)
146 node = node->children;
148 return node;
154 struct mailbox_list_index_node *node;
157 node = mailbox_list_index_lookup_real(list, name);
159 return node;
168 void mailbox_list_index_node_get_path(const struct mailbox_list_index_node *node,
171 if (node->parent != NULL) {
172 mailbox_list_index_node_get_path(node->parent, sep, str);
175 str_append(str, node->name);
179 struct mailbox_list_index_node *node)
183 prev = node->parent == NULL ?
184 &ilist->mailbox_tree : &node->parent->children;
186 while (*prev != node)
188 *prev = node->next;
247 struct mailbox_list_index_node *node,
253 i_assert(node->name_id != 0);
258 node->name = name;
259 node->flags |= MAILBOX_LIST_INDEX_FLAG_CORRUPTED_NAME;
262 POINTER_CAST(node->name_id), name);
263 if (ilist->highest_name_id < node->name_id)
264 ilist->highest_name_id = node->name_id;
275 mailbox_list_index_node_hash(const struct mailbox_list_index_node *node)
277 return str_hash(node->name) ^
278 POINTER_CAST_TO(node->parent, unsigned int);
282 const struct mailbox_list_index_node *node)
287 if (n == node)
297 struct mailbox_list_index_node *node, *parent;
313 node = p_new(ilist->mailbox_pool,
316 node->uid = rec->uid;
317 node->flags = rec->flags;
335 node->flags |= MAILBOX_LIST_INDEX_FLAG_NOSELECT;
338 node->corrupted_flags = TRUE;
341 node->name_id = irec->name_id;
342 if (node->name_id == 0) {
344 node->name_id = ++ilist->highest_name_id;
345 node->corrupted_ext = TRUE;
347 node->name = hash_table_lookup(ilist->mailbox_names,
349 if (node->name == NULL) {
355 mailbox_list_index_generate_name(ilist, node, "unknown-");
358 POINTER_CAST(node->uid), node);
363 the current node's uid */
372 node = mailbox_list_index_lookup_uid(ilist, uid);
373 i_assert(node != NULL);
376 /* node should have a parent */
386 node->corrupted_ext = TRUE;
387 } else if (node_has_parent(parent, node)) {
389 "parent_uid=%u loops to node itself (%s)",
390 uid, node->name);
394 node->corrupted_ext = TRUE;
396 node->parent = parent;
397 node->next = parent->children;
398 parent->children = node;
401 } else if (strcasecmp(node->name, "INBOX") == 0) {
404 if (hash_table_lookup(duplicate_hash, node) == NULL)
405 hash_table_insert(duplicate_hash, node, node);
407 const char *old_name = node->name;
412 node->name);
416 /* we have only the mailbox list index and this node
418 node->corrupted_ext = TRUE;
419 node->name_id = ++ilist->highest_name_id;
420 mailbox_list_index_generate_name(ilist, node,
421 t_strconcat(node->name, "-duplicate-", NULL));
424 old_name, node->name);
426 node->next = ilist->mailbox_tree;
427 ilist->mailbox_tree = node;
681 struct mailbox_list_index_node *node;
688 node = mailbox_list_index_lookup(list, name);
689 if (node != NULL &&
691 (node->flags & (MAILBOX_LIST_INDEX_FLAG_NONEXISTENT |