5 * Revision 1.1.1.1 1996/03/06 10:47:26 mclareni
9 #include "zebra/pilot.h"
10 SUBROUTINE RZSCAN(CHPATH,UROUT)
12 ************************************************************************
14 * Scan all directories from CHPATH and call user routine UROUT
15 * for directory CHPATH and for every subdirectory.
17 * CHPATH Character variable specifying the directory pathname.
19 * UROUT EXTERNAL user routine to be called for each directory
23 * Author : R.Brun DD/US/PD
25 * Last mod: 22.10.92 JDS - return immediately if cannot cd to CHPATH
27 ************************************************************************
28 #include "zebra/rzcl.inc"
29 #include "zebra/rzdir.inc"
30 #include "zebra/rzch.inc"
31 #include "zebra/rzk.inc"
34 DIMENSION ISD(NLPATM),NSD(NLPATM),IHDIR(4)
36 *-----------------------------------------------------------------------
43 IF(LCDIR.EQ.0)GO TO 99
44 CALL RZCDIR(CHWOLD,'R')
45 CALL RZCDIR(CHPATH,' ')
46 IF(IQUEST(1).NE.0) GOTO 99
47 CALL RZPAFF(CHPAT,NLPAT,CHL)
52 * Set CWD to the current level
56 CALL RZPAFF(CHPAT,NLPAT,CHL)
57 IF(IQUEST(1).NE.0)THEN
63 IF(IQUEST(1).NE.0)THEN
68 NSD(NLPAT)=IQ(KQSP+LCDIR+KNSD)
70 * List current directory
74 * Process possible down directories
76 20 ISD(NLPAT)=ISD(NLPAT)+1
77 IF(ISD(NLPAT).LE.NSD(NLPAT))THEN
80 IH=LS+7*(ISD(NLPAT-1)-1)
81 CALL ZITOH(IQ(KQSP+LCDIR+IH),IHDIR,4)
82 CALL UHTOC(IHDIR,4,CHPAT(NLPAT),16)
87 IF(NLPAT.GE.NLPAT0)THEN
89 CALL MZDROP(JQPDVS,LCDIR,' ')
97 90 CALL RZCDIR(CHWOLD,' ')