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 defnam - provide defaults for file name, reset new defaults SUBROUTINE DEFNAM(FILE, NODE, DEV, UIC, NAME, EXT, RESET) BYTE FILE(125) BYTE NODE(1), DEV(11), UIC(81), NAME(21), EXT(5) BYTE TEMP(125) LOGICAL RESET INTEGER L, J INTEGER INDEX, BKSCAN, CONCAT, SCAN TEMP(1) = 0 J = CONCAT(TEMP, FILE(SCAN(FILE, ' ', 1)), 125) FILE(1) = 0 J = 1 L = 0 CALL ADDSTR(INDEX(TEMP(J), ':'), J, L, FILE, TEMP, DEV, 11 - 1, RE *SET) CALL ADDSTR(INDEX(TEMP(J), ']'), J, L, FILE, TEMP, UIC, 81 - 1, RE *SET) CALL ADDSTR(BKSCAN(TEMP, ' .;', J) - J, J, L, FILE, TEMP, NAME, 21 * - 1, RESET) CALL ADDSTR(BKSCAN(TEMP, ' ;', J) - J, J, L, FILE, TEMP, EXT, 5 - *1, RESET) C append possible version L = CONCAT(FILE, TEMP(J), 125) RETURN END SUBROUTINE ADDSTR(I, J, L, FILE, TFILE, STR, MXSTR, RESET) INTEGER I, J, L, MXSTR, K INTEGER CONCAT, SCAN BYTE FILE(1), TFILE(1), STR(1) LOGICAL RESET IF (.NOT.(I .EQ. 0)) GOTO 2000 L = CONCAT(FILE, STR, 125) GOTO 2010 2000 CONTINUE K = MIN0(MXSTR, I) L = CONCAT(FILE, TFILE(J), L + 1 + K) J = SCAN(TFILE, ' ', J + I) IF (.NOT.(RESET)) GOTO 2020 CALL SCOPY(FILE, L + 1 - K, STR, 1) 2020 CONTINUE 2010 CONTINUE RETURN END