Lines Matching refs:iter

172 	struct dsync_mailbox_tree_iter *iter;
174 iter = i_new(struct dsync_mailbox_tree_iter, 1);
175 iter->tree = tree;
176 iter->name = str_new(default_pool, 128);
177 iter->cur = &tree->root;
180 return iter;
193 bool dsync_mailbox_tree_iter_next(struct dsync_mailbox_tree_iter *iter,
199 if (iter->cur->first_child != NULL)
200 iter->cur = iter->cur->first_child;
202 while (iter->cur->next == NULL) {
203 if (iter->cur == &iter->tree->root)
205 iter->cur = iter->cur->parent;
207 iter->cur = iter->cur->next;
208 len = iter->cur->parent == &iter->tree->root ? 0 :
209 node_get_full_name_length(iter->cur->parent);
210 str_truncate(iter->name, len);
212 if (str_len(iter->name) > 0)
213 str_append_c(iter->name, iter->tree->sep);
214 str_append(iter->name, iter->cur->name);
215 *full_name_r = str_c(iter->name);
216 *node_r = iter->cur;
222 struct dsync_mailbox_tree_iter *iter = *_iter;
226 i_assert(iter->tree->iter_count > 0);
227 iter->tree->iter_count--;
229 str_free(&iter->name);
230 i_free(iter);
235 struct dsync_mailbox_tree_iter *iter;
245 iter = dsync_mailbox_tree_iter_init(tree);
246 while (dsync_mailbox_tree_iter_next(iter, &name, &node)) {
252 dsync_mailbox_tree_iter_deinit(&iter);
274 struct dsync_mailbox_tree_iter *iter;
285 iter = dsync_mailbox_tree_iter_init(tree);
286 while (dsync_mailbox_tree_iter_next(iter, &name, &node)) {
296 dsync_mailbox_tree_iter_deinit(&iter);
321 struct dsync_mailbox_tree_iter *iter;
330 iter = dsync_mailbox_tree_iter_init(tree);
331 while (dsync_mailbox_tree_iter_next(iter, &name, &node)) {
338 dsync_mailbox_tree_iter_deinit(&iter);