#pragma prototyped
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
#include "fdp.h"
#include "options.h"
#include <time.h>
#ifndef MSWIN32
#include <unistd.h>
#endif
char *Info[] = {
"fdp",
VERSION,
BUILDDATE
};
static GVC_t *gvc;
#ifndef MSWIN32
static void intr(int s)
{
if (gvc->g) dotneato_write(gvc);
dotneato_terminate(gvc);
exit(1);
}
#endif
int
main (int argc, char** argv)
{
graph_t *g, *prev = NULL;
gvc = gvNEWcontext(Info, username());
argc = fdp_doArgs (argc, argv);
dotneato_initialize (gvc, argc, argv);
#ifndef MSWIN32
signal (SIGUSR1, toggle);
signal (SIGINT, intr);
#endif
while ((g = next_input_graph())) {
if (prev) {
fdp_cleanup(prev);
agclose(prev);
}
prev = g;
gvBindContext(gvc, g);
fdp_layout(g);
dotneato_write(gvc);
}
dotneato_terminate(gvc);
return 1;
}