]> git.uio.no Git - u/mrichter/AliRoot.git/blame - MINICERN/packlib/zebra/fq/fzendi.F
Use tgt_ prefix for binary target directories
[u/mrichter/AliRoot.git] / MINICERN / packlib / zebra / fq / fzendi.F
CommitLineData
fe4da5cc 1*
2* $Id$
3*
4* $Log$
5* Revision 1.1.1.1 1996/03/06 10:47:11 mclareni
6* Zebra
7*
8*
9#include "zebra/pilot.h"
10 SUBROUTINE FZENDI (LUNPAR,CHOPT)
11
12C- TERMINATION OF ZEBRA INPUT FILE
13
14#include "zebra/zunit.inc"
15#include "zebra/mqsys.inc"
16#include "zebra/eqlqf.inc"
17#include "zebra/fzstat.inc"
18#include "zebra/fzcf.inc"
19#include "zebra/fzci.inc"
20C-------------- End CDE --------------
21 DIMENSION LUNPAR(9)
22 CHARACTER CHOPT*(*)
23 DIMENSION IOPNUM(4)
24 EQUIVALENCE (IOPTT,IOPTVF(1)), (IOPTR,IOPTVF(6))
25 +, (IOPTN,IOPTVF(2)), (IOPTU,IOPTVF(7))
26 +, (IOPTC,IOPTVF(3)), (IOPTX,IOPTVF(8))
27 +, (IOPTI,IOPTVF(4)), (IOPTK,IOPTVF(9))
28 +, (IOPTO,IOPTVF(5)), (IOPTQ,IOPTVF(10))
29 +, (IOPNUM(1),IOPTVF(11))
30#if (defined(CERNLIB_QTRHOLL))&&(!defined(CERNLIB_A6M))
31 DIMENSION NAMESR(2)
32 DATA NAMESR / 4HFZEN, 4HDI /
33#endif
34#if (defined(CERNLIB_QTRHOLL))&&(defined(CERNLIB_A6M))
35 DATA NAMESR / 6HFZENDI /
36#endif
37#if !defined(CERNLIB_QTRHOLL)
38 CHARACTER NAMESR*8
39 PARAMETER (NAMESR = 'FZENDI ')
40#endif
41
42#include "zebra/q_jbit.inc"
43
44#include "zebra/qtrace.inc"
45
46 LUNORG = LUNPAR(1)
47 LUN = LUNORG
48 CALL UOPTC (CHOPT,'TNCIORUXKQ0123',IOPTVF)
49 INFLUN = 0
50
51 NEOF = -1
52 IF (IOPNUM(4).NE.0) NEOF=3
53 IF (IOPNUM(3).NE.0) NEOF=2
54 IF (IOPNUM(2).NE.0) NEOF=1
55 IF (IOPNUM(1).NE.0) NEOF=0
56 IOPTK = 1
57
58C-- Terminate option selected
59
60 IF (IOPTT.NE.0) THEN
61 IOPTN = 0
62 IOPTC = 0
63 IOPTI = 0
64 IOPTO = 0
65 IOPTK = 0
66
67C-- New option selected
68
69 ELSEIF (IOPTN.NE.0) THEN
70 IOPTC = 0
71 IOPTI = 0
72 IOPTO = 0
73 ELSE
74 IOPTR = 0
75 IOPTU = 0
76 IOPTX = 0
77 ENDIF
78
79C-- Continue option selected
80
81 IF (IOPTC.NE.0) THEN
82 IOPTI = 0
83 IOPTO = 0
84 ENDIF
85
86C-- Input option selected
87
88 IF (IOPTI.NE.0) THEN
89 IOPTO = 0
90 IOPTR = 1
91 ENDIF
92
93C---- LOOP OVER ALL INPUT FILES IF LUNPAR=0
94
95 IF (LUN.NE.0) GO TO 24
96 LQFF = LQFS
97 GO TO 22
98
99 21 LQFF = LQ(KQSP+LQFF)
100 22 IF (LQFF.EQ.0) GO TO 999
101 LUN = IQ(KQSP+LQFF-5)
102
103 LUNI = 0
104 IQUEST(1) = -7
105 CALL FZLOC (LUN,-1)
106 IF (LUNI.EQ.LUN) GO TO 31
107 GO TO 21
108
109C-- FZENDI called for one particular input file
110
111 24 LUNI = 0
112 IQUEST(1) = 0
113 CALL FZLOC (LUN,-1)
114 IF (LUNI.EQ.LUN) GO TO 31
115#if defined(CERNLIB_QPRINT)
116 IF (IOPTQ.EQ.0) THEN
117 WRITE (IQLOG,9024) LUN
118 IF (LUNF.EQ.LUN) WRITE (IQLOG,9025) IACTVF
119 ENDIF
120 9024 FORMAT (1X/' FZENDI. LUN=',I3,' is not a valid input file')
121 9025 FORMAT (10X,'last activity=',I2)
122#endif
123 GO TO 999
124
125C-------------------------------------------------
126C- Do input file
127C-------------------------------------------------
128
129 31 IF (IOPTQ.NE.0) LOGLVF=-2
130#if defined(CERNLIB_QPRINT)
131 IF (LOGLVF.GE.0)
132 +WRITE (IQLOG,9031) LUN,IACTVF,CHOPT
133 9031 FORMAT (1X/' FZENDI. For input file at LUN=',I3,
134 F', Last activity=',I2,', OPT= ',A)
135#endif
136 IF (IACTVF.GE.8) GO TO 61
137
138C---- Print file usage
139
140#if defined(CERNLIB_QPRINT)
141 IF (LOGLVF.LT.0) GO TO 39
142 IF (IQ(KQSP+LQFF+28).EQ.IQ(KQSP+LQFF+15)) GO TO 39
143 N = 21
144 IF (IFIFOF.NE.0) N=24
145 WRITE (IQLOG,9036) (IQ(KQSP+LQFF+J),J=11,N)
146 9036 FORMAT (10X,'Number of objects read : '
147 F/10X,I9,' System EOF'
148 F/10X,I9,' Zebra EOF'
149 F/10X,I9,' End-of-Run'
150 F/10X,I9,' Start-of-Run'
151 F/10X,I9,' Pilot records'
152 F/10X,I9,' Non-empty d/s selected'
153 F/10X,I9,' Empty d/s selected'
154 F/10X,I9,' Read or Data errors'
155 F/7X,I12,' Mega-words +'
156 F/7X,I12,' words'
157 F/10X,I9,' Good logical records',:/
158 F 10X,I9,' Good physical records'
159 F/10X,I9,' Steering blocks'
160 F/10X,I9,' Words with conversion problems')
161
162 IQ(KQSP+LQFF+28) = IQ(KQSP+LQFF+15)
163#endif
164 39 INFLUN = LUN
165 INFSTA = IQ(KQSP+LQFF)
166 CALL UCOPY (IQ(KQSP+LQFF+1), INFOFZ, 40)
167
168C---- New file to be connected by the user
169
170 IF (IOPTN.EQ.0) GO TO 44
171 IQ(KQSP+LQFF+2) = 8
172 CALL VZERO (IQ(KQSP+LQFF+30),7)
173 IF (IOPTR.NE.0) GO TO 57
174 GO TO 71
175
176C-- Continue to read next file on same
177
178 44 IF (IOPTC.EQ.0) GO TO 51
179 IF (IACTVF.NE.5) GO TO 48
180 IF (IACMOF.NE.1) GO TO 79
181 IF (JBIT(MSTATF,13).EQ.0) GO TO 79
182
183#include "fzendicx.inc"
184* Ignoring t=pass
185 GO TO 79
186
187 48 CONTINUE
188#if defined(CERNLIB_QPRINT)
189 IF (LOGLVF.GE.-2) WRITE (IQLOG,9048) LUNF
190 9048 FORMAT (' FZENDI. LUN=',I3,' not positioned on system EoF;',
191 F' C-option is redundant.')
192#endif
193 GO TO 79
194
195C---- REWIND
196
197 51 IF (IOPTR.EQ.0) GO TO 61
198
199 IQ(KQSP+LQFF+2) = 8
200 CALL VZERO (IQ(KQSP+LQFF+11),23)
201
202 57 CALL FZMACH (0)
203
204C---- Switch to output
205
206 61 IF (IOPTO.EQ.0) GO TO 71
207 IQ(KQSP+LQFF+2) = 10
208 IF (NEOF.GE.0) THEN
209 CALL SBYT (NEOF, IQ(KQSP+LQFF), 13,2)
210#if defined(CERNLIB_QPRINT)
211 IF (LOGLVF.GE.0) WRITE (IQLOG,9062) LUN,NEOF
212 9062 FORMAT (10X,'LUN=',I4,' Set NEOF =',I2)
213#endif
214 ENDIF
215
216C---- Close the file, Drop the control bank
217
218 71 IF (IOPTX.NE.0) THEN
219 CALL FZMACH (2)
220 IQ(KQSP+LQFF+1) = IADOPF
221 ENDIF
222
223 IF (IOPTK.EQ.0) CALL MZDROP (0,LQFF,'.')
224
225 79 LUNI = 0
226 IF (LUNORG.EQ.0) GO TO 21
227
228#include "zebra/qtrace99.inc"
229 RETURN
230 END
231* ==================================================
232#include "zebra/qcardl.inc"