static void archBuildJobExit ( ArchBuildJob * const jobtab) { ArchBuildJob * jobptr; jobptr = jobtab; do { graphExit (&jobptr->grafdat); jobptr = jobptr->joblink; } while (jobptr != NULL); }
void error(char *fmt, ...) { va_list ap; cpuExit(); mmuExit(); memoryExit(); timerExit(); displayExit(); keyboardExit(); termExit(); diskExit(); outputExit(); graphExit(); cExit(); va_start(ap, fmt); fprintf(stderr, "Error: "); vfprintf(stderr, fmt, ap); fprintf(stderr, "\n"); va_end(ap); exit(1); }
int archDeco2ArchFree ( ArchDeco2 * const archptr) { ArchDeco2Levl * levltab; if (archptr->vnumtab != NULL) memFree (archptr->vnumtab); if ((levltab = archptr->levltab) != NULL) { ArchDeco2Levl * levlptr; for (levlptr = levltab + archptr->levlmax; levlptr >= levltab; levlptr --) graphExit (&levlptr->grafdat); memFree (levltab); } if (archptr->termtab != NULL) /* Free group leader */ memFree (archptr->termtab); return (0); }
static void dumpCm(int modc, SmiModule **modv, int flags, char *output) { int i; if (flags & SMIDUMP_FLAG_UNITE) { if (! graph) { graph = xmalloc(sizeof(Graph)); graph->nodes = NULL; graph->edges = NULL; graph->components = NULL; } for (i = 0; i < modc; i++) { algCreateNodes(modv[i]); } if (XPLAIN) { printModuleNames(modc, modv); printf("\n--- First Phase - loading tables and scalars\n\n"); graphShowNodes(graph); printf("\n"); } algLinkTables(); algCheckLinksByName(); algConnectLonelyNodes(); algCheckForDependency(); algCheckForPointerRels(); if (!XPLAIN) { diaPrintXML(modc, modv); } graphExit(graph); graph = NULL; } else { for (i = 0; i < modc; i++) { if (! graph) { graph = xmalloc(sizeof(Graph)); graph->nodes = NULL; graph->edges = NULL; graph->components = NULL; } algCreateNodes(modv[i]); if (XPLAIN) { printModuleNames(1, &(modv[i])); printf("\n--- First Phase - loading tables and scalars\n\n"); graphShowNodes(graph); printf("\n"); } algLinkTables(); algCheckLinksByName(); algConnectLonelyNodes(); algCheckForDependency(); algCheckForPointerRels(); if (!XPLAIN) { diaPrintXML(1, &(modv[i])); } graphExit(graph); graph = NULL; } } if (fflush(stdout) || ferror(stdout)) { perror("smidump: write error"); exit(1); } }