From b68e14dd66d4cd7e2840a4218922dce6498ed8b0 Mon Sep 17 00:00:00 2001 From: c9s Date: Tue, 3 Jun 2014 18:37:36 +0800 Subject: [PATCH] r3_tree_render_dot(const node * tree, FILE *fp); support --- include/r3_gvc.h | 3 ++- src/gvc.c | 4 ++-- tests/check_gvc.c | 2 +- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/include/r3_gvc.h b/include/r3_gvc.h index 1fe1f7d..1cd0765 100644 --- a/include/r3_gvc.h +++ b/include/r3_gvc.h @@ -7,11 +7,12 @@ #ifndef R3_GVC_H #define R3_GVC_H +#include #include void r3_tree_build_ag_nodes(Agraph_t * g, Agnode_t * ag_parent_node, const node * n, int node_cnt); -int r3_tree_render_dot(const node * tree); +int r3_tree_render_dot(const node * tree, FILE *fp); int r3_tree_render_file(const node * tree, const char * format, const char * filename); diff --git a/src/gvc.c b/src/gvc.c index b4669fe..6975fef 100644 --- a/src/gvc.c +++ b/src/gvc.c @@ -45,7 +45,7 @@ void r3_tree_build_ag_nodes(Agraph_t * g, Agnode_t * ag_parent_node, const node /** * Render a tree to tree graph image via graphviz (dot) */ -int r3_tree_render_dot(const node * tree) +int r3_tree_render_dot(const node * tree, FILE *fp) { Agraph_t *g; /* set up a graphviz context - but only once even for multiple graphs */ @@ -61,7 +61,7 @@ int r3_tree_render_dot(const node * tree) Agnode_t *ag_root = agnode(g, "{root}", 1); r3_tree_build_ag_nodes(g, ag_root, tree, 0); gvLayout(gvc, g, "dot"); - gvRender(gvc, g, "dot", stdout); + gvRender(gvc, g, "dot", fp); gvFreeLayout(gvc, g); agclose(g); return 0; diff --git a/tests/check_gvc.c b/tests/check_gvc.c index f622e98..7f3371b 100644 --- a/tests/check_gvc.c +++ b/tests/check_gvc.c @@ -27,7 +27,7 @@ START_TEST (test_gvc_render_dot) r3_tree_compile(n, NULL); - r3_tree_render_dot(n); + r3_tree_render_dot(n, stderr); r3_tree_free(n); }