5 * Revision 1.1.1.1 1996/03/06 10:47:25 mclareni
9 #include "zebra/pilot.h"
10 SUBROUTINE RZLDIR(CHPATH,CHOPT)
12 ************************************************************************
14 * List directory CHPATH
16 * CHPATH Character variable specifying the directory pathname.
17 * ' ' means list information for the CWD.
18 * CHOPT Character variable specifying the options:
20 * 'A' List also Keys entered with option 'A'
21 * 'T' List also subdirectory tree
22 * 'X' eXtended listing - show also OFFSET,REC1,REC2
26 * Author : R.Brun DD/US/PD
28 * Last mod: 18.11.92 JDS - add option X
30 ************************************************************************
31 #include "zebra/zunit.inc"
32 #include "zebra/rzcl.inc"
33 #include "zebra/rzdir.inc"
34 #include "zebra/rzch.inc"
35 #include "zebra/rzk.inc"
36 CHARACTER *(*) CHPATH,CHOPT
38 EQUIVALENCE (IOPTA,IOPTV(1)), (IOPTT,IOPTV(2)), (IOPTX,IOPTV(3))
39 DIMENSION ISD(NLPATM),NSD(NLPATM),IHDIR(4)
41 *-----------------------------------------------------------------------
46 * List TOP directory only
48 IF(CHPATH.EQ.'//')THEN
54 CALL RZDATE(IQ(KQSP+LRZ+KDATEC),IDATEC,ITIMEC,1)
55 CALL RZDATE(IQ(KQSP+LRZ+KDATEM),IDATEM,ITIMEM,1)
56 CALL ZITOH(IQ(KQSP+LRZ+1),IHDIR,4)
57 WRITE(IQPRNT,8000)IHDIR,LUNT,IDATEC,ITIMEC,IDATEM,ITIMEM
66 IF(LCDIR.EQ.0)GO TO 99
67 CALL UOPTC (CHOPT,'ATX',IOPTV)
68 CALL RZCDIR(CHWOLD,'R')
69 CALL RZCDIR(CHPATH,' ')
70 CALL RZPAFF(CHPAT,NLPAT,CHL)
75 * Set CWD to the current level
79 CALL RZPAFF(CHPAT,NLPAT,CHL)
80 IF(IQUEST(1).NE.0)THEN
86 IF(IQUEST(1).NE.0)THEN
91 NSD(NLPAT)=IQ(KQSP+LCDIR+KNSD)
93 * List current directory
95 CALL RZLDI1(IOPTA,IOPTX)
96 IF(IOPTT.EQ.0)GO TO 90
98 * Process possible down directories
100 20 ISD(NLPAT)=ISD(NLPAT)+1
101 IF(ISD(NLPAT).LE.NSD(NLPAT))THEN
103 LS=IQ(KQSP+LCDIR+KLS)
104 IH=LS+7*(ISD(NLPAT-1)-1)
105 CALL ZITOH(IQ(KQSP+LCDIR+IH),IHDIR,4)
106 CALL UHTOC(IHDIR,4,CHPAT(NLPAT),16)
111 IF(NLPAT.GE.NLPAT0)THEN
113 CALL MZDROP(JQPDVS,LCDIR,' ')
121 90 CALL RZCDIR(CHWOLD,' ')
123 7000 FORMAT(///,' ************** List of TOP directories',/)
124 8000 FORMAT(' //',4A4,' LUN=',I6,
125 +' Created ',I6,'/',I4,' Modified ',I6,'/',I4)