From 56a8b90d863171d62e0a337b5635fbfc53a67fb0 Mon Sep 17 00:00:00 2001 From: Guus Sliepen Date: Wed, 22 Jul 2015 14:33:56 +0200 Subject: [PATCH] In sssp_bfs(), never try to update myself. --- src/graph.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/graph.c b/src/graph.c index 56ebb611..e570febb 100644 --- a/src/graph.c +++ b/src/graph.c @@ -149,7 +149,7 @@ static void sssp_bfs(void) { abort(); for splay_each(edge_t, e, n->edge_tree) { /* "e" is the edge connected to "from" */ - if(!e->reverse) + if(!e->reverse || e->to == myself) continue; /* Situation: @@ -173,7 +173,7 @@ static void sssp_bfs(void) { if(e->to->status.visited && (!e->to->status.indirect || indirect) - && (e->to->prevedge && (e->to->distance != n->distance + 1 || e->weight >= e->to->prevedge->weight))) + && (e->to->distance != n->distance + 1 || e->weight >= e->to->prevedge->weight)) continue; // Only update nexthop if it doesn't increase the path length -- 2.20.1