summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
94b47d1)
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk@4671
48e7efb5-ca39-0410-a469-
dd3cf9ba447f
* Free the graph structure.
*/
void xbt_graph_free_graph(xbt_graph_t g,
* Free the graph structure.
*/
void xbt_graph_free_graph(xbt_graph_t g,
- void node_free_function(void *ptr),
- void edge_free_function(void *ptr),
- void graph_free_function(void *ptr))
+ void_f_pvoid_t * node_free_function,
+ void_f_pvoid_t * edge_free_function,
+ void_f_pvoid_t * graph_free_function)
{
int cursor = 0;
xbt_node_t node = NULL;
{
int cursor = 0;
xbt_node_t node = NULL;
xbt_dynar_free(&(node->out));
xbt_dynar_free(&(node->in));
if (node_free_function)
xbt_dynar_free(&(node->out));
xbt_dynar_free(&(node->in));
if (node_free_function)
- node_free_function(node->data);
+ (*node_free_function)(node->data);
}
xbt_dynar_foreach(g->edges, cursor, edge) {
if (edge_free_function)
}
xbt_dynar_foreach(g->edges, cursor, edge) {
if (edge_free_function)
- edge_free_function(edge->data);
+ (*edge_free_function)(edge->data);
}
xbt_dynar_foreach(g->nodes, cursor, node)
}
xbt_dynar_foreach(g->nodes, cursor, node)
/** @brief remove the given edge from the given graph */
void xbt_graph_free_edge(xbt_graph_t g, xbt_edge_t e,
/** @brief remove the given edge from the given graph */
void xbt_graph_free_edge(xbt_graph_t g, xbt_edge_t e,
- void free_function(void *ptr))
+ void_f_pvoid_t *free_function)
{
int idx;
int cursor = 0;
xbt_edge_t edge = NULL;
if ((free_function) && (e->data))
{
int idx;
int cursor = 0;
xbt_edge_t edge = NULL;
if ((free_function) && (e->data))
- free_function(e->data);
+ (*free_function)(e->data);
xbt_dynar_foreach(g->edges, cursor, edge) {
if (edge == e) {
xbt_dynar_foreach(g->edges, cursor, edge) {
if (edge == e) {