#include "ast.h" static enum bshell_status collect_children( struct ast_node *node, struct ast_iterator *it) { struct hashtable_ast_node *hashtable = (struct hashtable_ast_node *)node; fx_queue_entry *cur = fx_queue_first(&hashtable->n_items); while (cur) { struct ast_node *child = fx_unbox(struct ast_node, cur, n_entry); ast_iterator_enqueue(it, child); cur = fx_queue_next(cur); } return BSHELL_SUCCESS; } struct ast_node_definition hashtable_ast_node = { .def_id = AST_HASHTABLE, .def_node_size = sizeof(struct hashtable_ast_node), .def_collect_children = collect_children, };