threads: prepare system to loop over many executions
[model-checker.git] / tree.cc
diff --git a/tree.cc b/tree.cc
index 37dfa2698bb7aec3aad7f17f3280bd03400ddfa5..3a7f5c40e694cd4c8658ff1e122cd6959eaa3f87 100644 (file)
--- a/tree.cc
+++ b/tree.cc
@@ -13,7 +13,6 @@ TreeNode::~TreeNode() {
 
        for (it = children.begin(); it != children.end(); it++)
                delete it->second;
-       delete &children;
 }
 
 TreeNode *TreeNode::exploreChild(tree_t id)
@@ -35,7 +34,7 @@ TreeNode *TreeNode::exploreChild(tree_t id)
 
 int TreeNode::setBacktrack(tree_t id)
 {
-       if (backtrack.find(id) == backtrack.end())
+       if (backtrack.find(id) != backtrack.end())
                return 1;
        backtrack.insert(id);
        return 0;
@@ -44,7 +43,7 @@ int TreeNode::setBacktrack(tree_t id)
 tree_t TreeNode::getNextBacktrack()
 {
        if (backtrack.empty())
-               return NULL;
+               return TREE_T_NONE;
        return *backtrack.begin();
 }