]> git.uio.no Git - u/mrichter/AliRoot.git/blob - MINICERN/packlib/zebra/rz/rzend.F
Bugfix in AliPoints2Memory
[u/mrichter/AliRoot.git] / MINICERN / packlib / zebra / rz / rzend.F
1 *
2 * $Id$
3 *
4 * $Log$
5 * Revision 1.2  1996/04/24 17:26:47  mclareni
6 * Extend the include file cleanup to dzebra, rz and tq, and also add
7 * dependencies in some cases.
8 *
9 * Revision 1.1.1.1  1996/03/06 10:47:23  mclareni
10 * Zebra
11 *
12 *
13 #include "zebra/pilot.h"
14       SUBROUTINE RZEND(CHDIR)
15 *
16 ************************************************************************
17 *
18 *        To close all transactions with file CHDIR.
19 *          Corresponding directories are dropped
20 * Input:
21 *   CHDIR   Character variable specifying  the name of the  top directory
22 *           to be associated with unit LUN.
23 *
24 * Called by <USER>
25 *
26 *  Author  : R.Brun DD/US/PD
27 *  Written : 01.04.86
28 *  Last mod: 07.12.92 Loglevel manipulation
29 *
30 ************************************************************************
31 #include "zebra/zunit.inc"
32 #include "zebra/zstate.inc"
33 #include "zebra/rzcl.inc"
34       CHARACTER  CHDIR*(*)
35       DIMENSION IHDIR(4)
36       LOGICAL RZSAME
37 *
38 *-----------------------------------------------------------------------
39 *
40 #include "zebra/q_jbit.inc"
41 #include "zebra/q_jbyt.inc"
42
43       IQUEST(1)=0
44       IF(LQRS.EQ.0)GO TO 99
45 *
46 *           Save current directory
47 *
48       CALL RZSAVE
49 *
50       NCHD=LEN(CHDIR)
51       IF(NCHD.GT.16)NCHD=16
52       CALL VBLANK(IHDIR,4)
53       CALL UCTOH(CHDIR,IHDIR,4,NCHD)
54       CALL ZHTOI(IHDIR,IHDIR,4)
55 *
56       LRZ=LQRS
57   10  IF(LRZ.NE.0)THEN
58          IF(.NOT.RZSAME(IHDIR,IQ(KQSP+LRZ+1),4))THEN
59             LRZ=LQ(KQSP+LRZ)
60             GO TO 10
61          ENDIF
62 *
63       LTOP=LRZ
64       LOGLV = JBYT(IQ(KQSP+LTOP),15,3)-3
65       IF(LOGLV.GE.0) WRITE(IQLOG,9019) CHDIR
66  9019 FORMAT(' RZEND. called for ',A)
67 *
68 *           Release lock if update mode
69 *
70          IF(JBIT(IQ(KQSP+LTOP),3).NE.0)THEN
71             LCDIR=LTOP
72             CALL RZFREE('RZFILE')
73          ENDIF
74 *
75 *           Drop control bank
76 *
77          CALL MZDROP(JQPDVS,LTOP,' ')
78          LTOP = 0
79          LCDIR= 0
80 *
81 *           Error
82 *
83       ELSEIF(NQLOGD.GE.-2)THEN
84          WRITE(IQLOG,1000) CHDIR
85  1000    FORMAT(' RZEND. Unknown directory ',A)
86       ENDIF
87 *
88   99  RETURN
89       END