blob: f75a18088c89257260d70175b5ebfc5ca9955a96 (
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
|
C------------------------------------------------------------------------------
subroutine ftxiou(iounit,status)
C generic routine to manage logical unit numbers in the range 50-99
integer iounit,status,i
integer*2 array(50)
save array
data array/50*0/
if (iounit .eq. 0)then
C get an unused logical unit number
do 10 i=50,1,-1
if (array(i) .eq. 0)then
array(i)=1
iounit=i+49
return
end if
10 continue
C error: all units are allocated
iounit=-1
status=114
call ftpmsg('FTGIOU has no more available unit numbers.')
else if (iounit .eq. -1)then
C deallocate all the unit numbers
do 20 i=1,50
array(i)=0
20 continue
else
C deallocat a specific unit number
if (iounit .ge. 50 .and. iounit .le. 99)then
array(iounit-49)=0
end if
endif
end
|