1: #ifndef lint
2: static char sccsid[] = "@(#)1.node.c 4.1 (Berkeley) 2/11/83";
3: #endif not lint
4:
5: #include <stdio.h>
6: #include "def.h"
7: #include "1.incl.h"
8:
9: makenode(type,addimp,addcom, labe,arcnum,arctype,arclab)
10: LOGICAL addimp,addcom;
11: int type, arctype[], arcnum;
12: long arclab[], labe;
13: {
14: int i;
15: VERT num;
16:
17: ASSERT(arcsper[type] < 0 || arcnum == arcsper[type], makenode);
18: num = create(type,arcnum);
19:
20: if (addimp) fiximp(num,labe);
21:
22: for (i = 0; i < arcnum; ++i)
23: {
24: if (arctype[i] == -2)
25: addref(arclab[i],&ARC(num,i));
26: else
27: ARC(num,i) = arctype[i];
28: }
29:
30:
31: if (hascom[type] )
32: {
33: if (!addcom || endcom < begline)
34: BEGCOM(num) = UNDEFINED;
35: else
36: BEGCOM(num) = begchar - rtnbeg;
37: }
38: return(num);
39: }
40:
41:
42:
43:
44:
45: fiximp(num,labe) /* fix implicit links, check nesting */
46: VERT num;
47: long labe;
48: {
49: fixvalue(implicit, num); /* set implicit links to this node */
50: clear(implicit);
51: if(labe != implicit) fixvalue(labe, num);
52: }
Defined functions
makenode
defined in line
9; used 16 times
- in line 17
- in /usr/src/usr.bin/struct/1.init.c line
50
- in /usr/src/usr.bin/struct/1.recog.c line
40,
61,
67,
84,
99,
124,
132,
165,
186-195(3),
246,
319-320(2)
Defined variables
sccsid
defined in line
2;
never used