X-Git-Url: https://www.fleuret.org/cgi-bin/gitweb/gitweb.cgi?p=mtp.git;a=blobdiff_plain;f=mtp_graph.cc;h=6537a7fe062318d05ad9c6577191e9654e88888d;hp=6ce84c4d4c4622f8788ddf5ffd46bcdbf5fa13f1;hb=f3a81053c175973cb6efa76c52c4a894fbe0dc68;hpb=20f94c6bff1541da8d0639966787dc8aaafea025 diff --git a/mtp_graph.cc b/mtp_graph.cc index 6ce84c4..6537a7f 100644 --- a/mtp_graph.cc +++ b/mtp_graph.cc @@ -373,7 +373,7 @@ void MTPGraph::find_best_paths(scalar_t *lengths) { int MTPGraph::retrieve_one_path(Edge *e, Path *path) { Edge *f, *next = 0; - int l = 0; + int l = 0, nb_occupied_next; if(path) { path->nodes[l++] = e->origin_vertex->id; @@ -385,17 +385,19 @@ int MTPGraph::retrieve_one_path(Edge *e, Path *path) { path->nodes[l++] = e->terminal_vertex->id; path->length += e->length; } else l++; - int nb_choices = 0; + + nb_occupied_next = 0; for(f = e->terminal_vertex->leaving_edges; f; f = f->next_leaving_edge) { - if(f->occupied) { nb_choices++; next = f; } + if(f->occupied) { nb_occupied_next++; next = f; } } #ifdef DEBUG - if(nb_choices == 0) { + if(nb_occupied_next == 0) { cerr << "retrieve_one_path: Non-sink end point." << endl; abort(); } - if(nb_choices > 1) { + + else if(nb_occupied_next > 1) { cerr << "retrieve_one_path: Non node-disjoint paths." << endl; abort(); } @@ -414,6 +416,7 @@ int MTPGraph::retrieve_one_path(Edge *e, Path *path) { void MTPGraph::retrieve_disjoint_paths() { Edge *e; + int p, l; for(int p = 0; p < nb_paths; p++) delete paths[p]; delete[] paths; @@ -425,10 +428,10 @@ void MTPGraph::retrieve_disjoint_paths() { paths = new Path *[nb_paths]; - int p = 0; + p = 0; for(e = _source->leaving_edges; e; e = e->next_leaving_edge) { if(e->occupied) { - int l = retrieve_one_path(e, 0); + l = retrieve_one_path(e, 0); paths[p] = new Path(l); retrieve_one_path(e, paths[p]); p++;