# # # # LIST File Listing Utility # ========================= # # Author: William Wood # # Address: Computer Center # Institute For Cancer Research # 7701 Burholme Ave. # Philadelphia, Pa. 19111 # (215) 728 2760 # # Version: 2.0 # # Date: December 1, 1980 # # # # ******************************************************* # * * # * THIS SOFTWARE WAS DEVELOPED WITH SUPPORT * # * FROM THE NATIONAL INSTITUTES OF HEALTH: * # * NIH CA06927 * # * NIH CA22780 * # * * # * DIRECT INQUIRIES TO: * # * COMPUTER CENTER * # * THE INSTITUTE FOR CANCER RESEARCH * # * 7701 BURHOLME AVENUE * # * PHILADELPHIA, PENNSYLVANIA 19111 * # * * # * NO WARRANTY OR REPRESENTATION, EXPRESS OR * # * IMPLIED, IS MADE WITH RESPECT TO THE * # * CORRECTNESS, COMPLETENESS, OR USEFULNESS * # * OF THIS SOFTWARE, NOR THAT USE OF THIS * # * SOFTWARE MIGHT NOT INFRINGE PRIVATELY * # * OWNED RIGHTS. * # * * # * NO LIABILITY IS ASSUMED WITH RESPECT TO * # * THE USE OF, OR FOR DAMAGES RESULTING FROM * # * THE USE OF THIS SOFTWARE * # * * # ******************************************************* # * * # * THIS SOFTWARE WAS DESIGNED FOR USE ON A * # * PDP-11/70 OPERATING UNDER IAS V3.0 USING * # * THE FORTRAN-IV PLUS COMPILER. * # * * # ******************************************************* # # # define(EOS,0) define(FILENAMESIZE,125) define(NODESIZE,1) define(DEVSIZE,11) define(UICSIZE,81) define(NAMESIZE,21) define(EXTSIZE,5) # defnam - provide defaults for file name, reset new defaults subroutine defnam(file, node, dev, uic, name, ext, reset) byte file(FILENAMESIZE) byte node(NODESIZE), dev(DEVSIZE), uic(UICSIZE), name(NAMESIZE), ext(EXTSIZE) byte temp(FILENAMESIZE) logical reset integer l, j integer index, bkscan, concat, scan temp(1) = EOS j = concat(temp, file(scan(file, ' ', 1)), FILENAMESIZE) file(1) = EOS j = 1 l = 0 call addstr(index(temp(j), ':'), j, l, file, temp, dev, DEVSIZE-1, reset) call addstr(index(temp(j), ']'), j, l, file, temp, uic, UICSIZE-1, reset) call addstr(bkscan(temp, ' .;', j) - j, j, l, file, temp, name, NAMESIZE-1, reset) call addstr(bkscan(temp, ' ;', j) - j, j, l, file, temp, ext, EXTSIZE-1, reset) l = concat(file, temp(j), FILENAMESIZE) # append possible version 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 (i == 0) l = concat(file, str, FILENAMESIZE) else { k = min0(mxstr, i) l = concat(file, tfile(j), l+1+k) j = scan(tfile, ' ', j+i) if (reset) call scopy(file, l+1-k, str, 1) } return end