#include static enum bshell_status collect_children( struct bshell_ast_node *node, struct bshell_ast_iterator *it) { struct bshell_fstring_ast_node *fstring; fstring = (struct bshell_fstring_ast_node *)node; fx_queue_entry *cur = fx_queue_first(&fstring->n_elements); while (cur) { struct bshell_ast_node *child = fx_unbox( struct bshell_ast_node, cur, n_entry); bshell_ast_iterator_enqueue(it, child); cur = fx_queue_next(cur); } return BSHELL_SUCCESS; } struct bshell_ast_node_definition fstring_bshell_ast_node = { .def_id = BSHELL_AST_FSTRING, .def_node_size = sizeof(struct bshell_fstring_ast_node), .def_collect_children = collect_children, };