projects
/
tinc
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Add missing parentheses in check for IPv4 multicast addresses.
[tinc]
/
src
/
graph.c
diff --git
a/src/graph.c
b/src/graph.c
index
b5af224
..
5dfbb72
100644
(file)
--- a/
src/graph.c
+++ b/
src/graph.c
@@
-1,6
+1,6
@@
/*
graph.c -- graph algorithms
/*
graph.c -- graph algorithms
- Copyright (C) 2001-200
6
Guus Sliepen <guus@tinc-vpn.org>,
+ Copyright (C) 2001-200
7
Guus Sliepen <guus@tinc-vpn.org>,
2001-2005 Ivo Timmermans
This program is free software; you can redistribute it and/or modify
2001-2005 Ivo Timmermans
This program is free software; you can redistribute it and/or modify
@@
-101,7
+101,13
@@
void mst_kruskal(void)
/* Starting point */
/* Starting point */
- ((edge_t *) edge_weight_tree->head->data)->from->status.visited = true;
+ for(node = edge_weight_tree->head; node; node = node->next) {
+ e = node->data;
+ if(e->from->status.reachable) {
+ e->from->status.visited = true;
+ break;
+ }
+ }
/* Add safe edges */
/* Add safe edges */
@@
-307,8
+313,8
@@
void sssp_bfs(void)
void graph(void)
{
void graph(void)
{
- mst_kruskal();
sssp_bfs();
sssp_bfs();
+ mst_kruskal();
graph_changed = true;
}
graph_changed = true;
}
@@
-364,9
+370,13
@@
void dump_graph(void)
fprintf(file, "}\n");
fprintf(file, "}\n");
- fclose(file);
-
- if(filename[0] != '|') {
+ if(filename[0] == '|') {
+ pclose(file);
+ } else {
+ fclose(file);
+#ifdef HAVE_MINGW
+ unlink(filename);
+#endif
rename(tmpname, filename);
free(tmpname);
}
rename(tmpname, filename);
free(tmpname);
}