C C C C LIST File Listing Utility C ========================= C C Author: William Wood C C Address: Computer Center C Institute For Cancer Research C 7701 Burholme Ave. C Philadelphia, Pa. 19111 C (215) 728 2760 C C Version: 2.0 C C Date: December 1, 1980 C C C C ******************************************************* C * * C * THIS SOFTWARE WAS DEVELOPED WITH SUPPORT * C * FROM THE NATIONAL INSTITUTES OF HEALTH: * C * NIH CA06927 * C * NIH CA22780 * C * * C * DIRECT INQUIRIES TO: * C * COMPUTER CENTER * C * THE INSTITUTE FOR CANCER RESEARCH * C * 7701 BURHOLME AVENUE * C * PHILADELPHIA, PENNSYLVANIA 19111 * C * * C * NO WARRANTY OR REPRESENTATION, EXPRESS OR * C * IMPLIED, IS MADE WITH RESPECT TO THE * C * CORRECTNESS, COMPLETENESS, OR USEFULNESS * C * OF THIS SOFTWARE, NOR THAT USE OF THIS * C * SOFTWARE MIGHT NOT INFRINGE PRIVATELY * C * OWNED RIGHTS. * C * * C * NO LIABILITY IS ASSUMED WITH RESPECT TO * C * THE USE OF, OR FOR DAMAGES RESULTING FROM * C * THE USE OF THIS SOFTWARE * C * * C ******************************************************* C * * C * THIS SOFTWARE WAS DESIGNED FOR USE ON A * C * PDP-11/70 OPERATING UNDER IAS V3.0 USING * C * THE FORTRAN-IV PLUS COMPILER. * C * * C ******************************************************* C C C C C C FNDFIL - RETURN FILES SELECTED BY PIP C AUTHOR - BILL WOOD C C THIS ROUTINE CALLS RUNSYS, WHICH SUBTASKS PIP TO CREATE C A FILE, FNDFIL.TMP, WITH THE FILES SELECTED BY PIP IN IT. C (NOTE RUNSYS ONLY WORKS ON IAS.) C FNDFIL THEN READS THIS FILE AND RETURNS THE FILE NAMES ONE C AT A TIME. THEN FNDFIL.TMP IS DELETED. C C IF THE FILE FORMAT PRODUCED BY YOUR PIP IS DIFFERENT, THIS C ROUTINE WILL HAVE TO BE MODIFIED. C C C note the order of the next several defines is significant! C comment this out for export version C ICR ONLY define(NOTICR,# NOT ICR) C Local ICR functions supported by LIST: C Invoke LIST on SRD-selected files C Route output to printer port of DT80 C Invoke HELP facility for LIST C Allow screen widths other than SCRWIDTH C Record or Block i/o. C set to define(RECORDIO,) for record io C size of buffer for mark/point C BLOCK IO define(MARKSIZE,3) SUBROUTINE FNDFIL(LUN, PIPFIL, FILE, N) BYTE PIPFIL(134), FILE(125), PIP(134), TMP(134), DIR(134) INTEGER LUN, N, NC, L, IER INTEGER CONCAT, INDEX EQUIVALENCE(PIP, TMP) IF (.NOT.(N .EQ. 0)) GOTO 2000 CALL SCOPY('PIP SY:FNDFIL.TMP=', 1, PIP, 1) L = CONCAT(PIP, PIPFIL, 134) L = CONCAT(PIP, '/DI/BR', 134) CALL RUNSYS(PIP, L, IER) IF (.NOT.(IER .NE. 0)) GOTO 2020 GOTO 10 2020 CONTINUE CLOSE(UNIT = LUN) CALL WAITSY OPEN(UNIT = LUN, NAME = 'SY:FNDFIL.TMP', DISPOSE = 'delete', TYP *E = 'old', ERR = 10) 2000 CONTINUE 2040 CONTINUE CALL GET(LUN, TMP, 134 - 1, NC) IF (.NOT.(NC .LE. 0)) GOTO 2070 GOTO 2060 2070 CONTINUE IF (.NOT.(TMP(1) .EQ. 12 .OR. TMP(3) .EQ. 10)) GOTO 2090 TMP(NC - 1) = 0 CALL SCOPY(TMP, INDEX(TMP, ' ') + 1, DIR, 1) GOTO 2100 2090 CONTINUE GOTO 2060 2100 CONTINUE 2050 GOTO 2040 2060 CONTINUE IF (.NOT.(NC .GE. 3)) GOTO 2110 N = N + 1 TMP(NC + 1) = 0 CALL SCOPY(DIR, 1, FILE, 1) L = CONCAT(FILE, TMP(3), 125) GOTO 2120 2110 CONTINUE N = 0 2120 CONTINUE RETURN 10 CONTINUE N = - 1 RETURN END