diff options
author | mvglasow <michael -at- vonglasow.com> | 2018-06-05 16:37:11 +0200 |
---|---|---|
committer | mvglasow <michael -at- vonglasow.com> | 2018-06-06 16:42:26 +0200 |
commit | 031900bf42aa6654465340c69256c9f8f9603ea0 (patch) | |
tree | 6820b4c8407a40f2202e5839f9423586d9ad25ba /navit/route.c | |
parent | 4e9b91bb3df7497e1cf7eb690f33b3d9eb60585e (diff) | |
download | navit-031900bf42aa6654465340c69256c9f8f9603ea0.tar.gz |
Fix:route:Skip non-routable segments when looking for neighbors in LPA*
Signed-off-by: mvglasow <michael -at- vonglasow.com>
Diffstat (limited to 'navit/route.c')
-rw-r--r-- | navit/route.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/navit/route.c b/navit/route.c index 292f2604a..a197d03c9 100644 --- a/navit/route.c +++ b/navit/route.c @@ -2134,10 +2134,14 @@ static void route_graph_compute_shortest_path(struct vehicleprofile * profile, s /* in any case, update rhs of successors (nodes from which we can reach p_min via a single segment) */ for (s = p_min->start; s; s = s->start_next) - if (route_value_seg(profile, NULL, s, -1) != INT_MAX) + if ((s->data.item.type < route_item_first) || (s->data.item.type > route_item_last)) + continue; + else if (route_value_seg(profile, NULL, s, -1) != INT_MAX) route_graph_point_update(profile, s->end, heap); for (s = p_min->end; s; s = s->end_next) - if (route_value_seg(profile, NULL, s, 1) != INT_MAX) + if ((s->data.item.type < route_item_first) || (s->data.item.type > route_item_last)) + continue; + else if (route_value_seg(profile, NULL, s, 1) != INT_MAX) route_graph_point_update(profile, s->start, heap); } } |