Replace pointers to global splay trees with structs.
[tinc] / src / graph.c
index 3a84306..bf3e75c 100644 (file)
@@ -72,13 +72,13 @@ static void mst_kruskal(void) {
 
        /* Clear visited status on nodes */
 
-       for splay_each(node_t, n, node_tree) {
+       for splay_each(node_t, n, &node_tree) {
                n->status.visited = false;
        }
 
        /* Starting point */
 
-       for splay_each(edge_t, e, edge_weight_tree) {
+       for splay_each(edge_t, e, &edge_weight_tree) {
                if(e->from->status.reachable) {
                        e->from->status.visited = true;
                        break;
@@ -89,7 +89,7 @@ static void mst_kruskal(void) {
 
        bool skipped = false;
 
-       for splay_each(edge_t, e, edge_weight_tree) {
+       for splay_each(edge_t, e, &edge_weight_tree) {
                if(!e->reverse || (e->from->status.visited == e->to->status.visited)) {
                        skipped = true;
                        continue;
@@ -110,7 +110,7 @@ static void mst_kruskal(void) {
 
                if(skipped) {
                        skipped = false;
-                       next = edge_weight_tree->head;
+                       next = edge_weight_tree.head;
                }
        }
 }
@@ -124,7 +124,7 @@ static void sssp_bfs(void) {
 
        /* Clear visited status on nodes */
 
-       for splay_each(node_t, n, node_tree) {
+       for splay_each(node_t, n, &node_tree) {
                n->status.visited = false;
                n->status.indirect = true;
                n->distance = -1;
@@ -213,7 +213,7 @@ static void check_reachability(void) {
        int became_reachable_count = 0;
        int became_unreachable_count = 0;
 
-       for splay_each(node_t, n, node_tree) {
+       for splay_each(node_t, n, &node_tree) {
                if(n->status.visited != n->status.reachable) {
                        n->status.reachable = !n->status.reachable;
                        n->last_state_change = now.tv_sec;