From ef57f86ce57e5fc8e0a9fb0da96f32da4516ce5d Mon Sep 17 00:00:00 2001 From: Arnaud Giersch Date: Fri, 20 Apr 2012 15:07:12 +0200 Subject: [PATCH] Consolidate loops. Also remove useless initializations. --- src/xbt/graph.c | 25 ++++++++++--------------- 1 file changed, 10 insertions(+), 15 deletions(-) diff --git a/src/xbt/graph.c b/src/xbt/graph.c index fdf9f5f07d..61b83645f5 100644 --- a/src/xbt/graph.c +++ b/src/xbt/graph.c @@ -140,35 +140,30 @@ void xbt_graph_free_graph(xbt_graph_t g, void_f_pvoid_t edge_free_function, void_f_pvoid_t graph_free_function) { - unsigned int cursor = 0; - xbt_node_t node = NULL; - xbt_edge_t edge = NULL; + unsigned int cursor; + xbt_node_t node; + xbt_edge_t edge; + xbt_dynar_foreach(g->edges, cursor, edge) { + if (edge_free_function) + edge_free_function(edge->data); + free(edge); + } + xbt_dynar_free(&(g->edges)); xbt_dynar_foreach(g->nodes, cursor, node) { xbt_dynar_free(&(node->out)); xbt_dynar_free(&(node->in)); if (node_free_function) node_free_function(node->data); + free(node); } - - xbt_dynar_foreach(g->edges, cursor, edge) { - if (edge_free_function) - edge_free_function(edge->data); - } - - xbt_dynar_foreach(g->nodes, cursor, node) - free(node); xbt_dynar_free(&(g->nodes)); - xbt_dynar_foreach(g->edges, cursor, edge) - free(edge); - xbt_dynar_free(&(g->edges)); if (graph_free_function) graph_free_function(g->data); free(g); xbt_graph_parse_lex_destroy(); - return; } -- 2.20.1