new copyright; att/bsd/shared
[unix-history] / usr / src / usr.bin / struct / struct / 1.finish.c
CommitLineData
0fc6e47b
KB
1/*-
2 * %sccs.include.proprietary.c%
3 */
4
d03accc5 5#ifndef lint
0fc6e47b
KB
6static char sccsid[] = "@(#)1.finish.c 4.2 (Berkeley) %G%";
7#endif /* not lint */
d03accc5
RH
8
9#include <stdio.h>
10#include "def.h"
11#include "1.incl.h"
12
13fingraph()
14 {
15 /* if any entry statements, add a DUMVX with arcs to all entry statements */
16 if (ENTLST)
17 {
18 ARC(START,0) = addum(ARC(START,0),ENTLST);
19 freelst(ENTLST);
20 }
21 /* if any FMTVX, add a DUMVX with arcs to all FMTVX's */
22 if (FMTLST)
23 {
24 ARC(START,0) = addum(ARC(START,0),FMTLST);
25 freelst(FMTLST);
26 }
27 }
28
29addum(v,lst)
30VERT v;
31struct list *lst;
32 {
33 VERT new;
34 int count,i;
35 struct list *ls;
36 count = lslen(lst); /* length of lst */
37 new = create(DUMVX,1+count);
38 ARC(new,0) = v;
39 for (i = count, ls = lst; i >= 1; --i, ls = ls->nxtlist)
40 {
41 ASSERT(ls,addum);
42 ARC(new,i) = ls->elt;
43 }
44 ASSERT(!ls, addum);
45 return(new);
46 }