X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/b9da7c01387335f567cc712b0cece2cffaa73c04..3df6cac0b5a1214cb750b260d904d16348ec4ec1:/src/xbt/graph.c diff --git a/src/xbt/graph.c b/src/xbt/graph.c index b106f505bb..464dad4af1 100644 --- a/src/xbt/graph.c +++ b/src/xbt/graph.c @@ -83,7 +83,7 @@ xbt_edge_t xbt_graph_new_edge(xbt_graph_t g, xbt_edge_t xbt_graph_get_edge(xbt_graph_t g, xbt_node_t src, xbt_node_t dst) { xbt_edge_t edge; - int cursor; + unsigned int cursor; xbt_dynar_foreach(src->out, cursor, edge) { DEBUG3("%p = %p--%p",edge,edge->src,edge->dst); @@ -127,11 +127,11 @@ void xbt_graph_edge_set_data(xbt_edge_t edge, void *data) * Free the graph structure. */ void xbt_graph_free_graph(xbt_graph_t g, - void_f_pvoid_t * node_free_function, - void_f_pvoid_t * edge_free_function, - void_f_pvoid_t * graph_free_function) + void_f_pvoid_t node_free_function, + void_f_pvoid_t edge_free_function, + void_f_pvoid_t graph_free_function) { - int cursor = 0; + unsigned int cursor = 0; xbt_node_t node = NULL; xbt_edge_t edge = NULL; @@ -155,7 +155,8 @@ void xbt_graph_free_graph(xbt_graph_t g, xbt_dynar_foreach(g->edges, cursor, edge) free(edge); xbt_dynar_free(&(g->edges)); - if(graph_free_function) (*graph_free_function)(g->data); + if(graph_free_function) + (*graph_free_function)(g->data); free(g); return; @@ -164,12 +165,12 @@ void xbt_graph_free_graph(xbt_graph_t g, /** @brief remove the given node from the given graph */ void xbt_graph_free_node(xbt_graph_t g, xbt_node_t n, - void_f_pvoid_t * node_free_function, - void_f_pvoid_t * edge_free_function) + void_f_pvoid_t node_free_function, + void_f_pvoid_t edge_free_function) { unsigned long nbr; - int i; - int cursor = 0; + unsigned long i; + unsigned int cursor = 0; xbt_node_t node = NULL; xbt_edge_t edge = NULL; @@ -185,7 +186,7 @@ void xbt_graph_free_node(xbt_graph_t g, xbt_node_t n, } if ((node_free_function) && (n->data)) - node_free_function(n->data); + (*node_free_function)(n->data); cursor = 0; xbt_dynar_foreach(g->nodes, cursor, node) @@ -202,10 +203,10 @@ void xbt_graph_free_node(xbt_graph_t g, xbt_node_t n, /** @brief remove the given edge from the given graph */ void xbt_graph_free_edge(xbt_graph_t g, xbt_edge_t e, - void_f_pvoid_t *free_function) + void_f_pvoid_t free_function) { int idx; - int cursor = 0; + unsigned int cursor = 0; xbt_edge_t edge = NULL; if ((free_function) && (e->data)) @@ -234,7 +235,7 @@ void xbt_graph_free_edge(xbt_graph_t g, xbt_edge_t e, int __xbt_find_in_dynar(xbt_dynar_t dynar, void *p) { - int cursor = 0; + unsigned int cursor = 0; void *tmp = NULL; xbt_dynar_foreach(dynar, cursor, tmp) { @@ -289,9 +290,9 @@ double xbt_graph_edge_get_length(xbt_edge_t e) */ double *xbt_graph_get_length_matrix(xbt_graph_t g) { - int cursor = 0; - int in_cursor = 0; - int idx, i; + unsigned int cursor = 0; + unsigned int in_cursor = 0; + unsigned long idx, i; unsigned long n; xbt_edge_t edge = NULL; xbt_node_t node = NULL; @@ -339,7 +340,7 @@ double *xbt_graph_get_length_matrix(xbt_graph_t g) void xbt_floyd_algorithm(xbt_graph_t g, double *adj, double *d, xbt_node_t * p) { - int i, j, k; + unsigned long i, j, k; unsigned long n; n = xbt_dynar_length(g->nodes); @@ -383,7 +384,7 @@ xbt_node_t *xbt_graph_shortest_paths(xbt_graph_t g) { xbt_node_t *p; xbt_node_t *r; - int i, j, k; + unsigned long i, j, k; unsigned long n; double *adj = NULL; @@ -432,7 +433,7 @@ xbt_edge_t *xbt_graph_spanning_tree_prim(xbt_graph_t g) xbt_node_t node = NULL; xbt_dynar_t edge_list = NULL; xbt_heap_t heap = xbt_heap_new(10, NULL); - int cursor; + unsigned int cursor; xbt_assert0(!(g->directed), "Spanning trees do not make sense on directed graphs"); @@ -488,7 +489,8 @@ xbt_node_t *xbt_graph_topo_sort(xbt_graph_t g) { xbt_node_t *sorted; - int cursor, idx; + unsigned int cursor; + int idx; xbt_node_t node; unsigned long n; @@ -515,7 +517,7 @@ xbt_node_t *xbt_graph_topo_sort(xbt_graph_t g) void xbt_graph_depth_visit(xbt_graph_t g, xbt_node_t n, xbt_node_t * sorted, int *idx) { - int cursor; + unsigned int cursor; xbt_edge_t edge; if (*((int *) (n->xbtdata)) == ALREADY_EXPLORED) @@ -598,10 +600,10 @@ static void __parse_edge(void) /** @brief Import a graph from a file following the GraphXML format */ xbt_graph_t xbt_graph_read(const char *filename, - void *(node_label_and_data) (xbt_node_t, + void *(*node_label_and_data) (xbt_node_t, const char *, const char *), - void *(edge_label_and_data) (xbt_edge_t, + void *(*edge_label_and_data) (xbt_edge_t, const char *, const char *)) { @@ -619,7 +621,7 @@ xbt_graph_t xbt_graph_read(const char *filename, ETag_graphxml_edge_fun = __parse_edge; xbt_graph_parse_open(filename); - xbt_assert1((!xbt_graph_parse()), "Parse error in %s", filename); + xbt_assert1((!(*xbt_graph_parse)()), "Parse error in %s", filename); xbt_graph_parse_close(); graph = parsed_graph; @@ -633,7 +635,7 @@ void xbt_graph_export_graphviz(xbt_graph_t g, const char *filename, const char *(node_name) (xbt_node_t), const char *(edge_name) (xbt_edge_t)) { - int cursor = 0; + unsigned int cursor = 0; xbt_node_t node = NULL; xbt_edge_t edge = NULL; FILE *file = NULL; @@ -679,7 +681,7 @@ void xbt_graph_export_graphxml(xbt_graph_t g, const char *filename, const char *(node_data_print) (void *), const char *(edge_data_print) (void *)) { - int cursor = 0; + unsigned int cursor = 0; xbt_node_t node = NULL; xbt_edge_t edge = NULL; FILE *file = NULL;