From: erg Date: Sat, 19 Apr 2008 16:00:36 +0000 (+0000) Subject: Combine identical initialization and termination functions, and X-Git-Tag: LAST_LIBGRAPH~32^2~4256 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=bfe6e3f8a541ff0c4d4413b615f1590e20302433;p=graphviz Combine identical initialization and termination functions, and put into common. --- diff --git a/lib/fdpgen/fdpinit.c b/lib/fdpgen/fdpinit.c index 7858c0f83..ff98e199f 100644 --- a/lib/fdpgen/fdpinit.c +++ b/lib/fdpgen/fdpinit.c @@ -110,34 +110,6 @@ void fdp_init_node_edge(graph_t * g) } -static void fdp_cleanup_node(node_t * n) -{ - free(ND_pos(n)); - if (ND_shape(n)) - ND_shape(n)->fns->freefn(n); - free_label(ND_label(n)); - memset(&(n->u), 0, sizeof(Agnodeinfo_t)); -} - -static void fdp_free_splines(edge_t * e) -{ - int i; - if (ED_spl(e)) { - for (i = 0; i < ED_spl(e)->size; i++) - free(ED_spl(e)->list[i].list); - free(ED_spl(e)->list); - free(ED_spl(e)); - } - ED_spl(e) = NULL; -} - -static void fdp_cleanup_edge(edge_t * e) -{ - fdp_free_splines(e); - free_label(ED_label(e)); - memset(&(e->u), 0, sizeof(Agedgeinfo_t)); -} - static void cleanup_subgs(graph_t * g) { graph_t *mg; @@ -175,9 +147,9 @@ void fdp_cleanup(graph_t * g) free(ND_alg(n)); for (; n; n = agnxtnode(g, n)) { for (e = agfstedge(g, n); e; e = agnxtedge(g, e, n)) { - fdp_cleanup_edge(e); + gv_cleanup_edge(e); } - fdp_cleanup_node(n); + gv_cleanup_node(n); } fdp_cleanup_graph(g); } diff --git a/lib/neatogen/neatoinit.c b/lib/neatogen/neatoinit.c index 14121d9a0..3eeb4facd 100644 --- a/lib/neatogen/neatoinit.c +++ b/lib/neatogen/neatoinit.c @@ -43,20 +43,11 @@ static int Pack; /* If >= 0, layout components separately and pack together */ static char *cc_pfx = "_neato_cc"; -void neato_nodesize(node_t * n, boolean flip) -{ - int w; - - w = ND_xsize(n) = POINTS(ND_width(n)); - ND_lw_i(n) = ND_rw_i(n) = w / 2; - ND_ht_i(n) = ND_ysize(n) = POINTS(ND_height(n)); -} - void neato_init_node(node_t * n) { common_init_node(n); ND_pos(n) = N_NEW(GD_ndim(n->graph), double); - neato_nodesize(n, GD_flip(n->graph)); + gv_nodesize(n, GD_flip(n->graph)); } void neato_init_edge(edge_t * e) @@ -144,36 +135,7 @@ void neato_init_node_edge(graph_t * g) } } -void neato_cleanup_node(node_t * n) -{ - if (ND_shape(n)) { - ND_shape(n)->fns->freefn(n); - } - free(ND_pos(n)); - free_label(ND_label(n)); - memset(&(n->u), 0, sizeof(Agnodeinfo_t)); -} - -void neato_free_splines(edge_t * e) -{ - int i; - if (ED_spl(e)) { - for (i = 0; i < ED_spl(e)->size; i++) - free(ED_spl(e)->list[i].list); - free(ED_spl(e)->list); - free(ED_spl(e)); - } - ED_spl(e) = NULL; -} - -void neato_cleanup_edge(edge_t * e) -{ - neato_free_splines(e); - free_label(ED_label(e)); - memset(&(e->u), 0, sizeof(Agedgeinfo_t)); -} - -void neato_cleanup_graph(graph_t * g) +static void neato_cleanup_graph(graph_t * g) { if (Nop || (Pack < 0)) free_scan_graph(g); @@ -187,9 +149,9 @@ void neato_cleanup(graph_t * g) for (n = agfstnode(g); n; n = agnxtnode(g, n)) { for (e = agfstout(g, n); e; e = agnxtout(g, e)) { - neato_cleanup_edge(e); + gv_cleanup_edge(e); } - neato_cleanup_node(n); + gv_cleanup_node(n); } neato_cleanup_graph(g); } diff --git a/lib/neatogen/neatoprocs.h b/lib/neatogen/neatoprocs.h index e815645b3..df0f5ae3f 100644 --- a/lib/neatogen/neatoprocs.h +++ b/lib/neatogen/neatoprocs.h @@ -50,9 +50,6 @@ extern "C" { extern int init_nop(graph_t * g, int); extern void neato_nodesize(node_t * n, boolean flip); extern void neato_cleanup(graph_t * g); - extern void neato_cleanup_edge(edge_t * e); - extern void neato_cleanup_graph(graph_t * g); - extern void neato_cleanup_node(node_t * n); extern node_t *neato_dequeue(void); extern void neato_enqueue(node_t *); extern void neato_free_splines(edge_t * e); diff --git a/lib/twopigen/twopiinit.c b/lib/twopigen/twopiinit.c index 80d024983..0a345d865 100644 --- a/lib/twopigen/twopiinit.c +++ b/lib/twopigen/twopiinit.c @@ -29,7 +29,7 @@ static void twopi_init_node(node_t * n) { common_init_node(n); - neato_nodesize(n, GD_flip(n->graph)); + gv_nodesize(n, GD_flip(n->graph)); ND_pos(n) = ALLOC(GD_ndim(n->graph), 0, double); } @@ -128,33 +128,6 @@ void twopi_layout(Agraph_t * g) } -static void twopi_cleanup_node(node_t * n) -{ - if (ND_shape(n)) - ND_shape(n)->fns->freefn(n); - free_label(ND_label(n)); - memset(&(n->u), 0, sizeof(Agnodeinfo_t)); -} - -static void twopi_free_splines(edge_t * e) -{ - int i; - if (ED_spl(e)) { - for (i = 0; i < ED_spl(e)->size; i++) - free(ED_spl(e)->list[i].list); - free(ED_spl(e)->list); - free(ED_spl(e)); - } - ED_spl(e) = NULL; -} - -static void twopi_cleanup_edge(edge_t * e) -{ - twopi_free_splines(e); - free_label(ED_label(e)); - memset(&(e->u), 0, sizeof(Agedgeinfo_t)); -} - static void twopi_cleanup_graph(graph_t * g) { free(GD_neato_nlist(g)); @@ -168,9 +141,9 @@ void twopi_cleanup(graph_t * g) for (n = agfstnode(g); n; n = agnxtnode(g, n)) { for (e = agfstout(g, n); e; e = agnxtout(g, e)) { - twopi_cleanup_edge(e); + gv_cleanup_edge(e); } - twopi_cleanup_node(n); + gv_cleanup_node(n); } twopi_cleanup_graph(g); }