__attribute__((used)) GVC_t* prepareGVContext(int useTestFile) { rewind(stdin); sVizContext = gvContextPlugins(lt_preloaded_symbols, 0); if (useTestFile == 1) { sVizContext->input_filenames = N_NEW(2, char *); sVizContext->input_filenames[0] = "test.dot"; sVizContext->input_filenames[1] = NULL; } else {
int main(int argc, char **argv) { graph_t *prev = NULL; int r, rc = 0; Gvc = gvContextPlugins(lt_preloaded_symbols, DEMAND_LOADING); GvExitOnUsage = 1; gvParseArgs(Gvc, argc, argv); #ifndef _WIN32 signal(SIGUSR1, gvToggle); signal(SIGINT, intr); #ifndef NO_FPERR signal(SIGFPE, fperr); #endif #endif if (MemTest) { while (MemTest--) { /* Create a test graph */ G = create_test_graph(); /* Perform layout and cleanup */ gvLayoutJobs(Gvc, G); /* take layout engine from command line */ gvFreeLayout(Gvc, G); agclose (G); } } else if ((G = gvPluginsGraph(Gvc))) { gvLayoutJobs(Gvc, G); /* take layout engine from command line */ gvRenderJobs(Gvc, G); } else { while ((G = gvNextInputGraph(Gvc))) { if (prev) { gvFreeLayout(Gvc, prev); agclose(prev); } gvLayoutJobs(Gvc, G); /* take layout engine from command line */ gvRenderJobs(Gvc, G); gvFinalize(Gvc); r = agreseterrors(); rc = MAX(rc,r); prev = G; } } r = gvFreeContext(Gvc); return (MAX(rc,r)); }
static void gv_init(void) { /* list of builtins, enable demand loading */ gvc = gvContextPlugins(lt_preloaded_symbols, DEMAND_LOADING); }