blob: 395bfa6c3e2c607db25602519389f4949fbec02a (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
|
typedef union {
struct {
long RH, LH;
} v;
struct {
unsigned char B1;
} u;
} twohalves;
typedef union {
long cint;
twohalves hhfield;
} memoryword;
extern memoryword mem[262];
long znewstructure ( p )
long p;
{
long q, r;
{
q = mem [ p + 2 ] .hhfield .v.RH;
r = mem [ q + 1 ] .hhfield .v.LH;
do {
q = r;
r = mem [ r ] .hhfield .v.RH;
} while ( ! ( r == p ) );
r = foo((long) ( 3 ));
mem [ q ] .hhfield .v.RH = r;
mem [ r + 2 ] = mem [ p + 2 ];
if ( mem [ p + 2 ] .hhfield .v.LH == 0 )
{
q = mem [ p + 2 ] .hhfield .v.RH + 1;
while ( mem [ q ] .hhfield .v.RH != p ) q = mem [ q ] .hhfield .v.RH;
mem [ q ] .hhfield .v.RH = r;
}
}
mem [ r ] .hhfield .u.B1 = mem [ p ] .hhfield .u.B1;
mem [ r + 1 ] .hhfield .v.LH = p;
q = foo((long) ( 3 ));
mem [ r + 1 ] .hhfield .v.RH = q;
mem [ q + 2 ] .hhfield .v.RH = r;
return(r);
}
|