xref: /original-bsd/usr.bin/struct/struct/3.main.c (revision 0f30d223)
1 #ifndef lint
2 static char sccsid[] = "@(#)3.main.c	4.1	(Berkeley)	02/11/83";
3 #endif not lint
4 
5 #include <stdio.h>
6 #include "def.h"
7 
8 structure()
9 	{
10 	VERT v, *head;
11 
12 	if (progress)
13 		fprintf(stderr,"	getreach:\n");
14 	getreach();
15 	if (routerr) return;
16 	if (progress)
17 		fprintf(stderr,"	getflow:\n");
18 	getflow();
19 	if (progress)
20 		fprintf(stderr,"	getthen:\n");
21 	getthen(START);
22 	head = challoc(nodenum * sizeof(*head));
23 	for (v = 0; v < nodenum; ++v)
24 		head[v] = UNDEFINED;
25 	for (v = START; DEFINED(v); v = RSIB(v))
26 		fixhd(v,UNDEFINED,head);
27 			/* fixhd must be called before getloop so that
28 				it gets applied to IFVX which becomes NXT(w) for UNTVX w */
29 	if (progress)
30 		fprintf(stderr,"	getloop:\n");
31 	getloop();
32 	if (progress)
33 		fprintf(stderr,"	getbranch:\n");
34 	getbranch(head);
35 	chfree(head,nodenum * sizeof(*head));
36 	head = 0;
37 	}
38