#pragma prototyped
#include "dot.h"
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
#include <time.h>
#ifdef HAVE_UNISTD_H
#include <unistd.h>
#endif
char *Info[] = {
"dot",
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());
dotneato_initialize(gvc, argc,argv);
#ifndef MSWIN32
signal (SIGUSR1, toggle);
signal (SIGINT, intr);
#endif
while ((g = next_input_graph())) {
if (prev) {
dot_cleanup(prev);
agclose(prev);
}
prev = g;
gvBindContext(gvc,g);
dot_layout(g);
dotneato_write(gvc);
}
dotneato_terminate(gvc);
return 1;
}