projects
/
c11tester.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
More bug fixes
[c11tester.git]
/
cyclegraph.cc
diff --git
a/cyclegraph.cc
b/cyclegraph.cc
index bb481e1374c6ad19f91a9a9eb27828517b775919..6c7e945e98ee8e58ab0a73911f24b8484a935389 100644
(file)
--- a/
cyclegraph.cc
+++ b/
cyclegraph.cc
@@
-297,6
+297,10
@@
void CycleGraph::freeAction(const ModelAction * act) {
CycleNode *dst = cn->edges[i];
dst->removeInEdge(cn);
}
CycleNode *dst = cn->edges[i];
dst->removeInEdge(cn);
}
+ for(unsigned int i=0;i<cn->inedges.size();i++) {
+ CycleNode *src = cn->inedges[i];
+ src->removeEdge(cn);
+ }
delete cn;
}
delete cn;
}
@@
-325,6
+329,16
@@
void CycleNode::removeInEdge(CycleNode *src) {
}
}
}
}
+void CycleNode::removeEdge(CycleNode *dst) {
+ for(unsigned int i=0;i < edges.size();i++) {
+ if (edges[i] == dst) {
+ edges[i] = edges[edges.size()-1];
+ edges.pop_back();
+ break;
+ }
+ }
+}
+
/**
* @param i The index of the edge to return
* @returns The CycleNode edge indexed by i
/**
* @param i The index of the edge to return
* @returns The CycleNode edge indexed by i