aboutsummaryrefslogtreecommitdiff
path: root/unix/boot/spp/rpp/ratlibf/gfnarg.f
blob: 19d4655db8c8be6bdd17f622e51f332f426c0565 (plain) (blame)
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
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
integer function gfnarg (name, state)
      integer name (100)
      integer state (4)
      integer l
      integer getarg, getlin
      integer fd
      integer rfopen
      integer in1(12)
      integer in2(12)
      integer in3(12)
      data in1(1)/47/,in1(2)/100/,in1(3)/101/,in1(4)/118/,in1(5)/47/,in1
     *(6)/115/,in1(7)/116/,in1(8)/100/,in1(9)/105/,in1(10)/110/,in1(11)/
     *49/,in1(12)/-2/
      data in2(1)/47/,in2(2)/100/,in2(3)/101/,in2(4)/118/,in2(5)/47/,in2
     *(6)/115/,in2(7)/116/,in2(8)/100/,in2(9)/105/,in2(10)/110/,in2(11)/
     *50/,in2(12)/-2/
      data in3(1)/47/,in3(2)/100/,in3(3)/101/,in3(4)/118/,in3(5)/47/,in3
     *(6)/115/,in3(7)/116/,in3(8)/100/,in3(9)/105/,in3(10)/110/,in3(11)/
     *51/,in3(12)/-2/
23000 continue
      if (.not.(state (1) .eq. 1))goto 23003
      state (1) = 2
      state (2) = 1
      state (3) = -3
      state (4) = 0
      goto 23004
23003 continue
      if (.not.(state (1) .eq. 2))goto 23005
      if (.not.(getarg (state (2), name, 128) .ne. -1))goto 23007
      state (1) = 2
      state (2) = state (2) + 1
      if (.not.(name (1) .ne. 45))goto 23009
      state (4) = state (4) + 1
      gfnarg=(-2)
      return
23009 continue
      if (.not.(name (2) .eq. -2))goto 23011
      call scopy (in1, 1, name, 1)
      state (4) = state (4) + 1
      gfnarg=(-2)
      return
23011 continue
      if (.not.(name (2) .eq. 49 .and. name (3) .eq. -2))goto 23013
      call scopy (in1, 1, name, 1)
      state (4) = state (4) + 1
      gfnarg=(-2)
      return
23013 continue
      if (.not.(name (2) .eq. 50 .and. name (3) .eq. -2))goto 23015
      call scopy (in2, 1, name, 1)
      state (4) = state (4) + 1
      gfnarg=(-2)
      return
23015 continue
      if (.not.(name (2) .eq. 51 .and. name (3) .eq. -2))goto 23017
      call scopy (in3, 1, name, 1)
      state (4) = state (4) + 1
      gfnarg=(-2)
      return
23017 continue
      if (.not.(name (2) .eq. 110 .or. name (2) .eq. 78))goto 23019
      state (1) = 3
      if (.not.(name (3) .eq. -2))goto 23021
      state (3) = 0
      goto 23022
23021 continue
      if (.not.(name (3) .eq. 49 .and. name (4) .eq. -2))goto 23023
      state (3) = stdin1
      goto 23024
23023 continue
      if (.not.(name (3) .eq. 50 .and. name (4) .eq. -2))goto 23025
      state (3) = stdin2
      goto 23026
23025 continue
      if (.not.(name (3) .eq. 51 .and. name (4) .eq. -2))goto 23027
      state (3) = stdin3
      goto 23028
23027 continue
      state (3) = rfopen(name (3), 1)
      if (.not.(state (3) .eq. -3))goto 23029
      call putlin (name, 2)
      call remark (14H:  can't open.)
      state (1) = 2
23029 continue
23028 continue
23026 continue
23024 continue
23022 continue
      goto 23020
23019 continue
      gfnarg=(-3)
      return
23020 continue
23018 continue
23016 continue
23014 continue
23012 continue
23010 continue
      goto 23008
23007 continue
      state (1) = 4
23008 continue
      goto 23006
23005 continue
      if (.not.(state (1) .eq. 3))goto 23031
      l = getlin (name, state (3))
      if (.not.(l .ne. -1))goto 23033
      name (l) = -2
      state (4) = state (4) + 1
      gfnarg=(-2)
      return
23033 continue
      if (.not.(fd .ne. -3 .and. fd .ne. 0))goto 23035
      call rfclos(state (3))
23035 continue
      state (1) = 2
      goto 23032
23031 continue
      if (.not.(state (1) .eq. 4))goto 23037
      state (1) = 5
      if (.not.(state (4) .eq. 0))goto 23039
      call scopy (in1, 1, name, 1)
      gfnarg=(-2)
      return
23039 continue
      goto 23002
23037 continue
      if (.not.(state (1) .eq. 5))goto 23041
      goto 23002
23041 continue
      call error (32Hin gfnarg:  bad state (1) value.)
23042 continue
23038 continue
23032 continue
23006 continue
23004 continue
23001 goto 23000
23002 continue
      name (1) = -2
      gfnarg=(-1)
      return
      end