+27 June 2007: Wouter
+ - delete of mesh does a postorder traverse of the tree.
+
26 June 2007: Wouter
- mesh is called by worker, and iterator uses it.
This removes the hierarchical code.
return mesh;
}
+/** help mesh delete delete mesh states */
+static void
+mesh_delete_helper(rbnode_t* n, void* ATTR_UNUSED(arg))
+{
+ struct mesh_state* mstate = (struct mesh_state*)n->key;
+ mesh_state_cleanup(mstate);
+}
+
void
mesh_delete(struct mesh_area* mesh)
{
- struct mesh_state* mstate;
if(!mesh)
return;
/* free all query states */
- RBTREE_FOR(mstate, struct mesh_state*, &mesh->all) {
- mesh_state_cleanup(mstate);
- }
+ traverse_postorder(&mesh->all, &mesh_delete_helper, NULL);
free(mesh);
}