]> git.uio.no Git - u/mrichter/AliRoot.git/blame - GEANT321/gxint/gxlunf.F
Bugfix in AliPoints2Memory
[u/mrichter/AliRoot.git] / GEANT321 / gxint / gxlunf.F
CommitLineData
fe4da5cc 1*
2* $Id$
3*
4* $Log$
5* Revision 1.1.1.1 1995/10/24 10:21:50 cernlib
6* Geant
7*
8*
9#include "geant321/pilot.h"
10*CMZ : 3.21/02 29/03/94 15.41.33 by S.Giani
11*-- Author :
12 SUBROUTINE GXLUNF(LUN,ICASE,IFREE)
13*
14* If ICASE=1 check if LUN is free
15* If ICASE=2 check if LUN is used
16* If ICASE=3 return first free unit starting at LUN
17*
18#include "geant321/gcxlun.inc"
19#include "geant321/gcunit.inc"
20 CHARACTER*8 CHCASE(10)
21 SAVE CHCASE
22 DATA CHCASE/'FZ ','FZOUT ','HBOOK ','HIGZ '
23 + ,'RZ ','KUIP ','COMIS ','GKS '
24 + ,'FORTRAN ','USER '/
25*________________________________________________________
26*
27 IF(LUN.LE.0.OR.LUN.GT.128)THEN
28 PRINT *,' Invalid Logical unit number'
29 IFREE=6
30 IF(ICASE.NE.1)IFREE=0
31 GO TO 99
32 ENDIF
33 IFREE=IABS(LUNIT(LUN))
34 IF(ICASE.EQ.1)THEN
35 IF(IFREE.EQ.0)GO TO 99
36 IFR=MIN(IFREE,10)
37 WRITE(CHMAIL,1000) LUN,CHCASE(IFR)
38 CALL GMAIL(0,0)
39 ELSEIF(ICASE.EQ.2)THEN
40 IF(IFREE.NE.0)GO TO 99
41 WRITE(CHMAIL,2000) LUN
42 CALL GMAIL(0,0)
43 ELSE
44 IFREE=0
45 DO 10 I=LUN,99
46 IF(LUNIT(I).EQ.0)THEN
47 IFREE=I
48 GO TO 99
49 ENDIF
50 10 CONTINUE
51 WRITE(CHMAIL,3000) LUN
52 CALL GMAIL(0,0)
53 ENDIF
54*
55 99 RETURN
56 1000 FORMAT(' Unit ',I3,' already used by ',A)
57 2000 FORMAT(' Unit ',I3,' is not active')
58 3000 FORMAT(' No more free logical units above ',I3)
59 END