SUBROUTINE MAIN INTEGER I, JUNK, PNDX INTEGER GETARG, IMPUT, ISATTY, CTOI INTEGER OPEN INTEGER IMINIT LOGICAL*1 ARG(36) INTEGER ANY INTEGER IFSECT INTEGER TABLE LOGICAL*1 DONE INTEGER PAGEFD INTEGER PAGESZ INTEGER MEM( 2560) LOGICAL*1 CMEM(5120) LOGICAL*1 SUFFIX(36) LOGICAL*1 TTYFIL(4) LOGICAL*1 ST001Z(55) COMMON / CMAN / ANY, IFSECT, TABLE, DONE(256) COMMON / CPAGE / PAGEFD, PAGESZ COMMON /CDSMEM/ MEM EQUIVALENCE (CMEM(1),MEM(1)) DATA SUFFIX(1)/49/,SUFFIX(2)/0/ DATA TTYFIL(1)/84/,TTYFIL(2)/73/,TTYFIL(3)/58/,TTYFIL(4)/0/ DATA ST001Z(1)/117/,ST001Z(2)/115/,ST001Z(3)/97/,ST001Z(4)/103/,ST *001Z(5)/101/,ST001Z(6)/58/,ST001Z(7)/32/,ST001Z(8)/32/,ST001Z(9)/1 *09/,ST001Z(10)/97/,ST001Z(11)/110/,ST001Z(12)/32/,ST001Z(13)/91/,S *T001Z(14)/45/,ST001Z(15)/60/,ST001Z(16)/112/,ST001Z(17)/97/,ST001Z *(18)/103/,ST001Z(19)/101/,ST001Z(20)/108/,ST001Z(21)/101/,ST001Z(2 *2)/110/,ST001Z(23)/62/,ST001Z(24)/93/,ST001Z(25)/32/,ST001Z(26)/91 */,ST001Z(27)/45/,ST001Z(28)/115/,ST001Z(29)/60/,ST001Z(30)/115/,ST *001Z(31)/101/,ST001Z(32)/99/,ST001Z(33)/116/,ST001Z(34)/105/,ST001 *Z(35)/111/,ST001Z(36)/110/,ST001Z(37)/62/,ST001Z(38)/93/,ST001Z(39 *)/32/,ST001Z(40)/91/,ST001Z(41)/45/,ST001Z(42)/97/,ST001Z(43)/93/, *ST001Z(44)/32/,ST001Z(45)/91/,ST001Z(46)/110/,ST001Z(47)/97/,ST001 *Z(48)/109/,ST001Z(49)/101/,ST001Z(50)/93/,ST001Z(51)/32/,ST001Z(52 *)/46/,ST001Z(53)/46/,ST001Z(54)/46/,ST001Z(55)/0/ CALL QUERY(ST001Z) IF (.NOT.(ISATTY(2) .EQ. 1))GOTO 23000 PAGEFD = OPEN(TTYFIL, 1) PAGESZ = 22 GOTO 23001 23000 CONTINUE PAGEFD = -3 PAGESZ = 30000 23001 CONTINUE ANY = 0 IFSECT = 0 PNDX = 1 TABLE = IMINIT(2560, 10) I=1 23002 IF (.NOT.(GETARG(I, ARG, 36) .NE. -1))GOTO 23004 IF (.NOT.(ARG(1) .EQ. 45))GOTO 23005 IF (.NOT.((48.LE.ARG(2).AND.ARG(2).LE.57)))GOTO 23007 JUNK = 2 PAGESZ = CTOI(ARG, JUNK) IF (.NOT.(PAGESZ .LE. 0 .AND. PAGEFD .NE. -3))GOTO 23009 CALL CLOSE(PAGEFD) PAGEFD = -3 23009 CONTINUE GOTO 23008 23007 CONTINUE IF (.NOT.(ARG(2) .EQ. 97 .OR. ARG(2) .EQ. 65))GOTO 23011 ANY = 1 GOTO 23012 23011 CONTINUE IF (.NOT.(ARG(2) .EQ. 115 .OR. ARG(2) .EQ. 83))GOTO 23013 IFSECT = 1 CALL SCOPY(ARG, 3, SUFFIX, 1) GOTO 23014 23013 CONTINUE CALL BADARG(ARG) 23014 CONTINUE 23012 CONTINUE 23008 CONTINUE GOTO 23006 23005 CONTINUE CALL FOLD(ARG) JUNK = IMPUT(TABLE, ARG) PNDX = PNDX + 1 23006 CONTINUE 23003 I=I+1 GOTO 23002 23004 CONTINUE CALL DOSYN(SUFFIX) IF (.NOT.(PNDX .EQ. 1 .AND. ANY .EQ. 0))GOTO 23015 IF (.NOT.(IFSECT .EQ. 1))GOTO 23017 CALL DOTOC(SUFFIX) GOTO 23018 23017 CONTINUE CALL DOINTR 23018 CONTINUE GOTO 23016 23015 CONTINUE CALL DOMAN(SUFFIX) 23016 CONTINUE RETURN END INTEGER FUNCTION ALLBLK(BUF) LOGICAL*1 BUF(100) INTEGER I I=1 23019 IF (.NOT.(BUF(I) .NE. 10 .AND. BUF(I) .NE. 0))GOTO 23021 IF (.NOT.(BUF(I) .NE. 32 .AND. BUF(I) .NE. 9 .AND. BUF(I) .NE. 12) *)GOTO 23022 ALLBLK=(0) RETURN 23022 CONTINUE 23020 I=I+1 GOTO 23019 23021 CONTINUE ALLBLK=(1) RETURN END SUBROUTINE DOMAN(SUFFIX) LOGICAL*1 SUFFIX(100), BUF(402) INTEGER I INTEGER GETLIN, LENGTH, IMGET INTEGER FD INTEGER OPEN INTEGER ANY INTEGER IFSECT INTEGER TABLE LOGICAL*1 DONE LOGICAL*1 ST002Z(11) LOGICAL*1 ST003Z(30) LOGICAL*1 ST004Z(30) COMMON / CMAN / ANY, IFSECT, TABLE, DONE(256) DATA ST002Z(1)/126/,ST002Z(2)/109/,ST002Z(3)/97/,ST002Z(4)/110/,ST *002Z(5)/47/,ST002Z(6)/109/,ST002Z(7)/112/,ST002Z(8)/97/,ST002Z(9)/ *116/,ST002Z(10)/104/,ST002Z(11)/0/ DATA ST003Z(1)/67/,ST003Z(2)/97/,ST003Z(3)/110/,ST003Z(4)/110/,ST0 *03Z(5)/111/,ST003Z(6)/116/,ST003Z(7)/32/,ST003Z(8)/111/,ST003Z(9)/ *112/,ST003Z(10)/101/,ST003Z(11)/110/,ST003Z(12)/32/,ST003Z(13)/115 */,ST003Z(14)/101/,ST003Z(15)/97/,ST003Z(16)/114/,ST003Z(17)/99/,ST *003Z(18)/104/,ST003Z(19)/32/,ST003Z(20)/112/,ST003Z(21)/97/,ST003Z *(22)/116/,ST003Z(23)/104/,ST003Z(24)/32/,ST003Z(25)/102/,ST003Z(26 *)/105/,ST003Z(27)/108/,ST003Z(28)/101/,ST003Z(29)/33/,ST003Z(30)/0 */ DATA ST004Z(1)/32/,ST004Z(2)/45/,ST004Z(3)/32/,ST004Z(4)/110/,ST00 *4Z(5)/111/,ST004Z(6)/32/,ST004Z(7)/109/,ST004Z(8)/97/,ST004Z(9)/11 *0/,ST004Z(10)/117/,ST004Z(11)/97/,ST004Z(12)/108/,ST004Z(13)/32/,S *T004Z(14)/101/,ST004Z(15)/110/,ST004Z(16)/116/,ST004Z(17)/114/,ST0 *04Z(18)/121/,ST004Z(19)/32/,ST004Z(20)/97/,ST004Z(21)/118/,ST004Z( *22)/97/,ST004Z(23)/105/,ST004Z(24)/108/,ST004Z(25)/97/,ST004Z(26)/ *98/,ST004Z(27)/108/,ST004Z(28)/101/,ST004Z(29)/46/,ST004Z(30)/0/ I = 1 23024 IF (.NOT.(I .LE. 256))GOTO 23026 DONE(I) = 78 23025 I = I + 1 GOTO 23024 23026 CONTINUE IF (.NOT.(IFSECT .EQ. 1))GOTO 23027 CALL PRMAN(SUFFIX) GOTO 23028 23027 CONTINUE FD = OPEN(ST002Z, 1) IF (.NOT.(FD .EQ. -3))GOTO 23029 CALL ERROR(ST003Z) 23029 CONTINUE 23031 IF (.NOT.(GETLIN(BUF, FD) .NE. -1))GOTO 23032 I = LENGTH(BUF) BUF(I) = 0 CALL PRMAN(BUF) GOTO 23031 23032 CONTINUE CALL CLOSE(FD) 23028 CONTINUE IF (.NOT.(ANY .EQ. 0))GOTO 23033 CALL IMRSET(TABLE) I = 1 23035 IF (.NOT.(IMGET(TABLE, BUF) .NE. -1))GOTO 23037 IF (.NOT.(DONE(I) .EQ. 78))GOTO 23038 CALL PUTLIN(BUF, 3) CALL PUTLNL(ST004Z, 3) 23038 CONTINUE 23036 I = I + 1 GOTO 23035 23037 CONTINUE 23033 CONTINUE RETURN END SUBROUTINE DOTOC(SUFFIX) LOGICAL*1 SUFFIX(100), BUF(402) INTEGER NXTCOL INTEGER IMGET LOGICAL*1 NAME(36) INTEGER ANY INTEGER IFSECT INTEGER TABLE LOGICAL*1 DONE LOGICAL*1 INTSTR(37) LOGICAL*1 SECSTR(28) COMMON / CMAN / ANY, IFSECT, TABLE, DONE(256) DATA INTSTR(1)/77/,INTSTR(2)/97/,INTSTR(3)/110/,INTSTR(4)/117/,INT *STR(5)/97/,INTSTR(6)/108/,INTSTR(7)/32/,INTSTR(8)/101/,INTSTR(9)/1 *10/,INTSTR(10)/116/,INTSTR(11)/114/,INTSTR(12)/105/,INTSTR(13)/101 */,INTSTR(14)/115/,INTSTR(15)/32/,INTSTR(16)/97/,INTSTR(17)/118/,IN *TSTR(18)/97/,INTSTR(19)/105/,INTSTR(20)/108/,INTSTR(21)/97/,INTSTR *(22)/98/,INTSTR(23)/108/,INTSTR(24)/101/,INTSTR(25)/32/,INTSTR(26) */105/,INTSTR(27)/110/,INTSTR(28)/32/,INTSTR(29)/115/,INTSTR(30)/10 *1/,INTSTR(31)/99/,INTSTR(32)/116/,INTSTR(33)/105/,INTSTR(34)/111/, *INTSTR(35)/110/,INTSTR(36)/32/,INTSTR(37)/0/ DATA SECSTR(1)/77/,SECSTR(2)/97/,SECSTR(3)/110/,SECSTR(4)/117/,SEC *STR(5)/97/,SECSTR(6)/108/,SECSTR(7)/32/,SECSTR(8)/115/,SECSTR(9)/1 *01/,SECSTR(10)/99/,SECSTR(11)/116/,SECSTR(12)/105/,SECSTR(13)/111/ *,SECSTR(14)/110/,SECSTR(15)/115/,SECSTR(16)/32/,SECSTR(17)/97/,SEC *STR(18)/118/,SECSTR(19)/97/,SECSTR(20)/105/,SECSTR(21)/108/,SECSTR *(22)/97/,SECSTR(23)/98/,SECSTR(24)/108/,SECSTR(25)/101/,SECSTR(26) */58/,SECSTR(27)/10/,SECSTR(28)/0/ CALL TFETCH(SUFFIX) CALL IMSORT(TABLE) CALL IMUNIQ(TABLE) IF (.NOT.( SUFFIX(1) .EQ. 0 ))GOTO 23040 CALL PUTLIN( SECSTR, 2) GOTO 23041 23040 CONTINUE CALL PUTLIN(INTSTR, 2) CALL PUTLNL(SUFFIX, 2) 23041 CONTINUE CALL PUTCH(10, 2) CALL INPACK(NXTCOL, 80, BUF, 2) 23042 IF (.NOT.(IMGET(TABLE, NAME) .NE. -1))GOTO 23043 CALL DOPACK(NAME, NXTCOL, 80, BUF, 2) GOTO 23042 23043 CONTINUE CALL FLPACK(NXTCOL, 80, BUF, 2) RETURN END LOGICAL*1 FUNCTION GTCONF(PSTR) LOGICAL*1 PSTR(100), BUF(402), C LOGICAL*1 CLOWER INTEGER JUNK INTEGER PROMPT INTEGER PAGEFD INTEGER PAGESZ COMMON / CPAGE / PAGEFD, PAGESZ IF (.NOT.(PAGEFD .NE. -3))GOTO 23044 JUNK = PROMPT(PSTR, BUF, PAGEFD) IF (.NOT.(JUNK .EQ. -1))GOTO 23046 C = 110 GOTO 23047 23046 CONTINUE C = CLOWER(BUF(1)) 23047 CONTINUE GOTO 23045 23044 CONTINUE C = 121 23045 CONTINUE GTCONF=(C) RETURN END SUBROUTINE PRUNIQ(INT, SIZE) INTEGER AGTLIN, ALLBLK INTEGER T, SIZE(2), N, BLK, I LOGICAL*1 BUF(402) LOGICAL*1 GTCONF INTEGER PAGEFD INTEGER PAGESZ LOGICAL*1 PSTR(17) COMMON / CPAGE / PAGEFD, PAGESZ DATA PSTR(1)/77/,PSTR(2)/111/,PSTR(3)/114/,PSTR(4)/101/,PSTR(5)/32 */,PSTR(6)/91/,PSTR(7)/110/,PSTR(8)/32/,PSTR(9)/61/,PSTR(10)/62/,PS *TR(11)/32/,PSTR(12)/78/,PSTR(13)/79/,PSTR(14)/93/,PSTR(15)/63/,PST *R(16)/32/,PSTR(17)/0/ IF (.NOT.(PAGEFD .EQ. -3))GOTO 23048 23050 IF (.NOT.(AGTLIN(BUF, INT, SIZE) .NE. -1))GOTO 23051 CALL PUTLIN(BUF, 2) GOTO 23050 23051 CONTINUE RETURN 23048 CONTINUE N = 0 T = AGTLIN(BUF, INT, SIZE) 23052 IF (.NOT.(T .NE. -1))GOTO 23053 N = N + 1 IF (.NOT.(N .GT. PAGESZ))GOTO 23054 IF (.NOT.(GTCONF(PSTR) .EQ. 110))GOTO 23056 GOTO 23053 23056 CONTINUE N = 0 23057 CONTINUE 23054 CONTINUE I = 1 23058 IF (.NOT.(BUF(I) .NE. 0))GOTO 23060 IF (.NOT.(BUF(I) .NE. 12))GOTO 23061 CALL PUTCH(BUF(I), 2) 23061 CONTINUE 23059 I = I + 1 GOTO 23058 23060 CONTINUE BLK = ALLBLK(BUF) T = AGTLIN(BUF, INT, SIZE) IF (.NOT.(BLK .EQ. 1))GOTO 23063 23065 IF (.NOT.(T .NE. -1))GOTO 23066 IF (.NOT.(ALLBLK(BUF) .EQ. 0))GOTO 23067 GOTO 23066 23067 CONTINUE T = AGTLIN(BUF, INT, SIZE) 23068 CONTINUE GOTO 23065 23066 CONTINUE 23063 CONTINUE GOTO 23052 23053 CONTINUE 23069 IF (.NOT.(T .NE. -1))GOTO 23070 T = AGTLIN(BUF, INT, SIZE) GOTO 23069 23070 CONTINUE RETURN END SUBROUTINE TFETCH(SUFFIX) LOGICAL*1 SUFFIX(100) LOGICAL*1 NAME(402) INTEGER IMINIT INTEGER I, JUNK, COUNT INTEGER IMPUT INTEGER ANY INTEGER IFSECT INTEGER TABLE LOGICAL*1 DONE INTEGER INDEXC, GDRPRM, GETLIN INTEGER FD INTEGER OPEN, OPENDR LOGICAL*1 ST005Z(6) LOGICAL*1 ST006Z(27) LOGICAL*1 ST007Z(7) LOGICAL*1 ST008Z(37) COMMON / CMAN / ANY, IFSECT, TABLE, DONE(256) DATA ST005Z(1)/126/,ST005Z(2)/109/,ST005Z(3)/97/,ST005Z(4)/110/,ST *005Z(5)/47/,ST005Z(6)/0/ DATA ST006Z(1)/67/,ST006Z(2)/97/,ST006Z(3)/110/,ST006Z(4)/110/,ST0 *06Z(5)/111/,ST006Z(6)/116/,ST006Z(7)/32/,ST006Z(8)/111/,ST006Z(9)/ *112/,ST006Z(10)/101/,ST006Z(11)/110/,ST006Z(12)/32/,ST006Z(13)/126 */,ST006Z(14)/109/,ST006Z(15)/97/,ST006Z(16)/110/,ST006Z(17)/32/,ST *006Z(18)/100/,ST006Z(19)/105/,ST006Z(20)/114/,ST006Z(21)/101/,ST00 *6Z(22)/99/,ST006Z(23)/116/,ST006Z(24)/111/,ST006Z(25)/114/,ST006Z( *26)/121/,ST006Z(27)/0/ DATA ST007Z(1)/126/,ST007Z(2)/109/,ST007Z(3)/97/,ST007Z(4)/110/,ST *007Z(5)/47/,ST007Z(6)/105/,ST007Z(7)/0/ DATA ST008Z(1)/67/,ST008Z(2)/97/,ST008Z(3)/110/,ST008Z(4)/110/,ST0 *08Z(5)/111/,ST008Z(6)/116/,ST008Z(7)/32/,ST008Z(8)/111/,ST008Z(9)/ *112/,ST008Z(10)/101/,ST008Z(11)/110/,ST008Z(12)/32/,ST008Z(13)/105 */,ST008Z(14)/110/,ST008Z(15)/100/,ST008Z(16)/101/,ST008Z(17)/120/, *ST008Z(18)/32/,ST008Z(19)/102/,ST008Z(20)/111/,ST008Z(21)/114/,ST0 *08Z(22)/32/,ST008Z(23)/109/,ST008Z(24)/97/,ST008Z(25)/110/,ST008Z( *26)/117/,ST008Z(27)/97/,ST008Z(28)/108/,ST008Z(29)/32/,ST008Z(30)/ *97/,ST008Z(31)/114/,ST008Z(32)/99/,ST008Z(33)/104/,ST008Z(34)/105/ *,ST008Z(35)/118/,ST008Z(36)/101/,ST008Z(37)/0/ TABLE = IMINIT(2560, 10) IF (.NOT.( SUFFIX(1) .EQ. 0 ))GOTO 23071 IF (.NOT.( OPENDR( ST005Z, FD) .EQ. -3 ))GOTO 23073 CALL ERROR( ST006Z) 23073 CONTINUE 23075 IF (.NOT.( GDRPRM( FD, NAME) .NE. -1 ))GOTO 23076 IF (.NOT.( NAME(1) .EQ. 115 .OR. NAME(1) .EQ. 83 ))GOTO 23077 JUNK = IMPUT( TABLE, NAME(2)) 23077 CONTINUE GOTO 23075 23076 CONTINUE CALL CLOSDR(FD) GOTO 23072 23071 CONTINUE CALL CONCAT(ST007Z, SUFFIX, NAME) FD = OPEN(NAME, 1) IF (.NOT.(FD .EQ. -3))GOTO 23079 CALL ERROR(ST008Z) 23079 CONTINUE COUNT = 0 23081 IF (.NOT.(GETLIN(NAME, FD) .NE. -1))GOTO 23082 I = INDEXC(NAME, 32) NAME(I) = 0 JUNK = IMPUT(TABLE, NAME) COUNT = COUNT + 1 DONE(COUNT) = 78 GOTO 23081 23082 CONTINUE CALL CLOSE(FD) 23072 CONTINUE RETURN END SUBROUTINE DOSYN(SECT) LOGICAL*1 SECT(100) INTEGER EQUAL LOGICAL*1 CMD(4) LOGICAL*1 PRIM(5) LOGICAL*1 LIB(4) LOGICAL*1 PRIMER(7) LOGICAL*1 ONE(2) LOGICAL*1 TWO(2) LOGICAL*1 THREE(2) LOGICAL*1 FOUR(2) DATA CMD(1)/99/,CMD(2)/109/,CMD(3)/100/,CMD(4)/0/ DATA PRIM(1)/112/,PRIM(2)/114/,PRIM(3)/105/,PRIM(4)/109/,PRIM(5)/0 */ DATA LIB(1)/108/,LIB(2)/105/,LIB(3)/98/,LIB(4)/0/ DATA PRIMER(1)/112/,PRIMER(2)/114/,PRIMER(3)/105/,PRIMER(4)/109/,P *RIMER(5)/101/,PRIMER(6)/114/,PRIMER(7)/0/ DATA ONE(1)/49/,ONE(2)/0/ DATA TWO(1)/50/,TWO(2)/0/ DATA THREE(1)/51/,THREE(2)/0/ DATA FOUR(1)/52/,FOUR(2)/0/ CALL FOLD(SECT) IF (.NOT.(EQUAL(SECT, CMD) .EQ. 1))GOTO 23083 CALL STRCPY(ONE, SECT) GOTO 23084 23083 CONTINUE IF (.NOT.(EQUAL(SECT, PRIM) .EQ. 1))GOTO 23085 CALL STRCPY(TWO, SECT) GOTO 23086 23085 CONTINUE IF (.NOT.(EQUAL(SECT, LIB) .EQ. 1))GOTO 23087 CALL STRCPY(THREE, SECT) GOTO 23088 23087 CONTINUE IF (.NOT.(EQUAL(SECT, PRIMER) .EQ. 1))GOTO 23089 CALL STRCPY(FOUR, SECT) 23089 CONTINUE 23088 CONTINUE 23086 CONTINUE 23084 CONTINUE RETURN END SUBROUTINE PRMAN(SUFFIX) LOGICAL*1 SUFFIX(100), FILE(36), NAME(36), BUF(402) LOGICAL*1 GTCONF INTEGER SIZE(2), NENTRY, I, COUNT INTEGER IMGET INTEGER FD INTEGER OPEN INTEGER ANY INTEGER IFSECT INTEGER TABLE LOGICAL*1 DONE LOGICAL*1 ENTRY(36) INTEGER FSIZE(2), S1, S2, CMP INTEGER GETLIN, GETWRD, AGETHD, STRCMP INTEGER DD INTEGER*4 PTR LOGICAL*1 PSTR(23) LOGICAL*1 ST009Z(7) LOGICAL*1 ST00AZ(7) LOGICAL*1 ST00BZ(26) LOGICAL*1 ST00CZ(27) COMMON / CMAN / ANY, IFSECT, TABLE, DONE(256) DATA PSTR(1)/78/,PSTR(2)/101/,PSTR(3)/120/,PSTR(4)/116/,PSTR(5)/32 */,PSTR(6)/101/,PSTR(7)/110/,PSTR(8)/116/,PSTR(9)/114/,PSTR(10)/121 */,PSTR(11)/32/,PSTR(12)/91/,PSTR(13)/110/,PSTR(14)/32/,PSTR(15)/61 */,PSTR(16)/62/,PSTR(17)/32/,PSTR(18)/78/,PSTR(19)/79/,PSTR(20)/93/ *,PSTR(21)/63/,PSTR(22)/32/,PSTR(23)/0/ DATA ST009Z(1)/126/,ST009Z(2)/109/,ST009Z(3)/97/,ST009Z(4)/110/,ST *009Z(5)/47/,ST009Z(6)/115/,ST009Z(7)/0/ DATA ST00AZ(1)/126/,ST00AZ(2)/109/,ST00AZ(3)/97/,ST00AZ(4)/110/,ST *00AZ(5)/47/,ST00AZ(6)/105/,ST00AZ(7)/0/ DATA ST00BZ(1)/65/,ST00BZ(2)/110/,ST00BZ(3)/32/,ST00BZ(4)/97/,ST00 *BZ(5)/100/,ST00BZ(6)/100/,ST00BZ(7)/105/,ST00BZ(8)/116/,ST00BZ(9)/ *105/,ST00BZ(10)/111/,ST00BZ(11)/110/,ST00BZ(12)/97/,ST00BZ(13)/108 */,ST00BZ(14)/32/,ST00BZ(15)/101/,ST00BZ(16)/110/,ST00BZ(17)/116/,S *T00BZ(18)/114/,ST00BZ(19)/121/,ST00BZ(20)/32/,ST00BZ(21)/102/,ST00 *BZ(22)/111/,ST00BZ(23)/114/,ST00BZ(24)/32/,ST00BZ(25)/96/,ST00BZ(2 *6)/0/ DATA ST00CZ(1)/39/,ST00CZ(2)/32/,ST00CZ(3)/99/,ST00CZ(4)/97/,ST00C *Z(5)/110/,ST00CZ(6)/32/,ST00CZ(7)/98/,ST00CZ(8)/101/,ST00CZ(9)/32/ *,ST00CZ(10)/102/,ST00CZ(11)/111/,ST00CZ(12)/117/,ST00CZ(13)/110/,S *T00CZ(14)/100/,ST00CZ(15)/32/,ST00CZ(16)/105/,ST00CZ(17)/110/,ST00 *CZ(18)/32/,ST00CZ(19)/115/,ST00CZ(20)/101/,ST00CZ(21)/99/,ST00CZ(2 *2)/116/,ST00CZ(23)/105/,ST00CZ(24)/111/,ST00CZ(25)/110/,ST00CZ(26) */32/,ST00CZ(27)/0/ IF (.NOT.(ANY .EQ. 1))GOTO 23091 CALL TFETCH(SUFFIX) 23091 CONTINUE CALL IMSORT(TABLE) CALL IMUNIQ(TABLE) CALL IMRSET(TABLE) NENTRY = 0 CALL CONCAT(ST009Z, SUFFIX, FILE) FD = OPEN(FILE, 1) IF (.NOT.(FD .EQ. -3))GOTO 23093 CALL CANT(FILE) 23093 CONTINUE CALL CONCAT(ST00AZ, SUFFIX, NAME) DD = OPEN(NAME, 1) IF (.NOT.(DD .EQ. -3))GOTO 23095 CALL CANT(NAME) 23095 CONTINUE S1 = IMGET(TABLE, NAME) COUNT = 1 S2 = GETLIN(BUF, DD) 23097 CONTINUE IF (.NOT.(S1 .EQ. -1 .OR. S2 .EQ. -1))GOTO 23100 GOTO 23099 23100 CONTINUE I = 1 JUNK = GETWRD(BUF, I, ENTRY) CMP = STRCMP(ENTRY, NAME) IF (.NOT.(CMP .EQ. -1))GOTO 23102 S2 = GETLIN(BUF, DD) GOTO 23103 23102 CONTINUE IF (.NOT.(CMP .EQ. 0))GOTO 23104 IF (.NOT.(DONE(COUNT) .EQ. 89))GOTO 23106 CALL PUTLIN(ST00BZ, 2) CALL PUTLIN(ENTRY, 2) CALL PUTLIN(ST00CZ, 2) CALL PUTLNL(SUFFIX, 2) GOTO 23107 23106 CONTINUE DONE(COUNT) = 89 NENTRY = NENTRY + 1 IF (.NOT.(NENTRY .GT. 1))GOTO 23108 IF (.NOT.(GTCONF(PSTR) .EQ. 110))GOTO 23110 S1 = -1 GOTO 23099 23110 CONTINUE 23108 CONTINUE CALL CTOPTR(BUF, I, PTR) CALL SEEK(PTR, FD) FSIZE(1) = 32767 FSIZE(2) = 0 JUNK = AGETHD(FD, BUF, SIZE, FSIZE) CALL PRUNIQ(FD, SIZE) 23107 CONTINUE S1 = IMGET(TABLE, NAME) COUNT = COUNT + 1 S2 = GETLIN(BUF, DD) GOTO 23105 23104 CONTINUE S1 = IMGET(TABLE, NAME) COUNT = COUNT + 1 23105 CONTINUE 23103 CONTINUE 23098 GOTO 23097 23099 CONTINUE CALL CLOSE(FD) CALL CLOSE(DD) RETURN END SUBROUTINE DOINTR INTEGER FD INTEGER OPEN INTEGER SIZE(2) LOGICAL*1 ST00DZ(12) LOGICAL*1 ST00EZ(26) DATA ST00DZ(1)/126/,ST00DZ(2)/109/,ST00DZ(3)/97/,ST00DZ(4)/110/,ST *00DZ(5)/47/,ST00DZ(6)/109/,ST00DZ(7)/105/,ST00DZ(8)/110/,ST00DZ(9) */116/,ST00DZ(10)/114/,ST00DZ(11)/111/,ST00DZ(12)/0/ DATA ST00EZ(1)/69/,ST00EZ(2)/114/,ST00EZ(3)/114/,ST00EZ(4)/111/,ST *00EZ(5)/114/,ST00EZ(6)/32/,ST00EZ(7)/111/,ST00EZ(8)/112/,ST00EZ(9) */101/,ST00EZ(10)/110/,ST00EZ(11)/105/,ST00EZ(12)/110/,ST00EZ(13)/1 *03/,ST00EZ(14)/32/,ST00EZ(15)/105/,ST00EZ(16)/110/,ST00EZ(17)/116/ *,ST00EZ(18)/114/,ST00EZ(19)/111/,ST00EZ(20)/32/,ST00EZ(21)/102/,ST *00EZ(22)/105/,ST00EZ(23)/108/,ST00EZ(24)/101/,ST00EZ(25)/33/,ST00E *Z(26)/0/ FD = OPEN(ST00DZ, 1) IF (.NOT.(FD .EQ. -3))GOTO 23112 CALL ERROR(ST00EZ) 23112 CONTINUE SIZE(1) = 32767 SIZE(2) = 0 CALL PRUNIQ(FD, SIZE) CALL CLOSE(FD) RETURN END