INTEGER FUNCTION AMOVE(NAME1, NAME2) LOGICAL*1 NAME1(36), NAME2(36) INTEGER OPEN, OLD, NEW, CREATE, RENAME, REMOVE LOGICAL*1 START(31) DATA START(1)/69/,START(2)/114/,START(3)/114/,START(4)/111/,START( *5)/114/,START(6)/32/,START(7)/114/,START(8)/101/,START(9)/109/,STA *RT(10)/111/,START(11)/118/,START(12)/105/,START(13)/110/,START(14) */103/,START(15)/32/,START(16)/102/,START(17)/105/,START(18)/108/,S *TART(19)/101/,START(20)/32/,START(21)/105/,START(22)/110/,START(23 *)/32/,START(24)/97/,START(25)/109/,START(26)/111/,START(27)/118/,S *TART(28)/101/,START(29)/58/,START(30)/32/,START(31)/0/ OLD = OPEN(NAME1, 1) IF (.NOT.(OLD .EQ. -3))GOTO 23000 AMOVE = -3 GOTO 23001 23000 CONTINUE NEW = CREATE(NAME2, 2) IF (.NOT.(NEW .EQ. -3))GOTO 23002 CALL CLOSE(OLD) AMOVE = -3 GOTO 23003 23002 CONTINUE CALL FCOPY(OLD, NEW) CALL CLOSE(OLD) CALL CLOSE(NEW) IF (.NOT.(REMOVE(NAME1) .EQ. -3))GOTO 23004 CALL PUTLIN(START, 3) CALL REMARK(NAME1) 23004 CONTINUE AMOVE = 0 23003 CONTINUE 23001 CONTINUE RETURN END INTEGER FUNCTION BCKSPN(IMAGE, ARGS, PID) LOGICAL*1 IMAGE(36), ARGS(256), PID(7) REAL BSPAWN LOGICAL*1 FILE(36) INTEGER IDS, INT, I, NEWAST, OLDAST INTEGER INDEXC, CREATE, SDAT LOGICAL*1 SEED(4) LOGICAL*1 ST001Z(3) DATA SEED(1)/98/,SEED(2)/99/,SEED(3)/107/,SEED(4)/0/ DATA BSPAWN/6RBSPAWN/, NEWAST/0/ DATA ST001Z(1)/83/,ST001Z(2)/89/,ST001Z(3)/0/ CALL SCRATF(SEED, FILE) INT = CREATE(FILE, 2) IF (.NOT.(INT .NE. -3))GOTO 23006 CALL PUTLNL(IMAGE, INT) CALL PUTLNL(ARGS, INT) CALL TRNDEV(ST001Z, 0, PID) CALL PUTLNL(PID, INT) CALL CLOSE(INT) I = INDEXC(FILE, 93) + 1 CALL STRCPY(FILE(I), FILE) CALL SRDA(NEWAST, OLDAST) IF (.NOT.(SDAT(BSPAWN, FILE) .NE. 1))GOTO 23008 INT = -3 GOTO 23009 23008 CONTINUE CALL RCVDAT(BSPAWN, FILE) INT = FILE(5) IF (.NOT.(INT .EQ. 0))GOTO 23010 CALL STRCPY(FILE(6), PID) GOTO 23011 23010 CONTINUE INT = -3 23011 CONTINUE 23009 CONTINUE CALL CRDA(OLDAST) 23006 CONTINUE BCKSPN=(INT) RETURN END SUBROUTINE CPYBYT(IN, OUT, N, TRMN8R) LOGICAL*1 IN(100), OUT(100), TRMN8R INTEGER N INTEGER I I=1 23012 IF (.NOT.(I .LE. N))GOTO 23014 OUT(I) = IN(I) 23013 I=I+1 GOTO 23012 23014 CONTINUE IF (.NOT.(TRMN8R .GE. 0))GOTO 23015 OUT(I) = TRMN8R 23015 CONTINUE RETURN END SUBROUTINE CTOPTR(BUF, I, PTR) LOGICAL*1 BUF(100) INTEGER I, PTR(2) INTEGER CTOI PTR(1) = CTOI(BUF, I) PTR(2) = CTOI(BUF, I) RETURN END INTEGER FUNCTION CWDIR(STRNG) LOGICAL*1 STRNG(100), OUT(36), TEMP(12) INTEGER I, OPENDR, DESC CALL FXLATE(STRNG, 5, OUT) IF (.NOT.(OPENDR(OUT, DESC) .NE. -3))GOTO 23017 I = 1 CALL JCOPYS(OUT, I, 58, TEMP) CALL STDDEV(TEMP) CALL JCOPYS(OUT, I, 93, TEMP) CALL STDDIR(TEMP, DESC) CALL CLOSDR(DESC) CWDIR = 0 GOTO 23018 23017 CONTINUE CWDIR = -3 23018 CONTINUE RETURN END SUBROUTINE DECNFO(DBUF, DATE, GROUP, MEMBER, PROTEC, BSIZE, CSIZE, * TYPE) INTEGER GROUP, MEMBER, PROTEC, BSIZE(2), CSIZE(2), TYPE, SIZE(4) LOGICAL*1 DATE(100), DBUF(512) INTEGER REVISE, IDOFF, TEMP CALL CPYBYT(DBUF(1), IDOFF, 1, 0) REVISE = 2 * IDOFF + 13 CALL CPYBYT(DBUF(REVISE), DATE, 13, 0) IF (.NOT.(DATE(1) .EQ. 0))GOTO 23019 REVISE = REVISE + 13 CALL CPYBYT(DBUF(REVISE), DATE, 13, 0) 23019 CONTINUE CALL CPYBYT(DBUF(10), GROUP, 1, 0) CALL CPYBYT(DBUF(9), MEMBER, 1, 0) CALL CPYBYT(DBUF(11), PROTEC, 2, -1) CALL CPYBYT(DBUF(23), SIZE(1), 1, 0) CALL CPYBYT(DBUF(26), SIZE(2), 1, 0) CALL CPYBYT(DBUF(25), SIZE(3), 1, 0) CALL CPYBYT(DBUF(27), SIZE(4), 2, -1) CALL FILSIZ(SIZE, BSIZE, CSIZE) TYPE = 60 CALL CPYBYT(DBUF(15), TEMP, 1, 0) IF (.NOT.(TEMP .EQ. 2))GOTO 23021 CALL CPYBYT(DBUF(16), TEMP, 1, 0) IF (.NOT.(MOD(TEMP, 4) .NE. 0))GOTO 23023 TYPE = 12 23023 CONTINUE 23021 CONTINUE RETURN END SUBROUTINE DNOISE(FILE) LOGICAL*1 FILE(100) INTEGER I INTEGER INDEXC, EQUAL LOGICAL*1 ST002Z(3) DATA ST002Z(1)/59/,ST002Z(2)/49/,ST002Z(3)/0/ I = INDEXC(FILE, 59) IF (.NOT.(EQUAL(FILE(I), ST002Z) .EQ. 1))GOTO 23025 FILE(I) = 0 I = INDEXC(FILE, 46) IF (.NOT.(FILE(I+1) .EQ. 0))GOTO 23027 FILE(I) = 0 23027 CONTINUE 23025 CONTINUE RETURN END SUBROUTINE ENBINT RETURN END SUBROUTINE EXTPNM(LIN, TASK) LOGICAL*1 LIN(100), TASK(7), TERM(10) INTEGER J, I INTEGER INDEXS, EQUAL, LENGTH LOGICAL*1 TSKEQU(6) LOGICAL*1 TSKEQL(6) LOGICAL*1 RUN(4) LOGICAL*1 AT(4) LOGICAL*1 ST003Z(3) DATA TSKEQU(1)/84/,TSKEQU(2)/65/,TSKEQU(3)/83/,TSKEQU(4)/75/,TSKEQ *U(5)/61/,TSKEQU(6)/0/ DATA TSKEQL(1)/116/,TSKEQL(2)/97/,TSKEQL(3)/115/,TSKEQL(4)/107/,TS *KEQL(5)/61/,TSKEQL(6)/0/ DATA RUN(1)/82/,RUN(2)/85/,RUN(3)/78/,RUN(4)/0/ DATA AT(1)/65/,AT(2)/84/,AT(3)/46/,AT(4)/0/ DATA ST003Z(1)/116/,ST003Z(2)/105/,ST003Z(3)/0/ J = INDEXS(LIN, TSKEQU) IF (.NOT.(J .EQ. 0))GOTO 23029 J = INDEXS(LIN, TSKEQL) 23029 CONTINUE IF (.NOT.(J .GT. 0))GOTO 23031 I = 1 J=J+5 23033 IF (.NOT.(LIN(J) .NE. 0 .AND. LIN(J) .NE. 47 .AND. I .LT. 7))GOTO *23035 CALL CHCOPY(LIN(J), TASK, I) 23034 J=J+1 GOTO 23033 23035 CONTINUE GOTO 23032 23031 CONTINUE I=1 23036 IF (.NOT.(I .LE. 3 .AND. LIN(I) .NE. 0))GOTO 23038 TASK(I) = LIN(I) 23037 I=I+1 GOTO 23036 23038 CONTINUE TASK(I) = 0 CALL UPPER(TASK) CALL TRNDEV(ST003Z, 0, TERM) J = 2 IF (.NOT.(EQUAL(TASK, RUN) .EQ. 1))GOTO 23039 I = 1 J = 1 GOTO 23040 23039 CONTINUE IF (.NOT.(TASK(1) .EQ. 64))GOTO 23041 CALL STRCPY(AT, TASK) I = 4 23041 CONTINUE 23040 CONTINUE 23043 IF (.NOT.(TERM(J) .NE. 58))GOTO 23045 IF (.NOT.(I .EQ. 7))GOTO 23046 GOTO 23045 23046 CONTINUE CALL CHCOPY(TERM(J), TASK, I) 23047 CONTINUE 23044 J=J+1 GOTO 23043 23045 CONTINUE 23032 CONTINUE I=LENGTH(TASK)+1 23048 IF (.NOT.(I .LT. 7))GOTO 23050 TASK(I) = 32 23049 I=I+1 GOTO 23048 23050 CONTINUE TASK(I) = 0 CALL UPPER(TASK) RETURN END SUBROUTINE FXLATE(IN, TYPE, OUT) INTEGER I, J, LENGTH, REALDV, TYPE LOGICAL*1 IN(100), OUT(100), TEMP(36) CALL RESTIL(IN, OUT) IF (.NOT.(OUT(1) .EQ. 47))GOTO 23051 J = 1 IF (.NOT.(REALDV(OUT) .EQ. 1))GOTO 23053 I=2 23055 IF (.NOT.(OUT(I) .NE. 47 .AND. OUT(I) .NE. 0))GOTO 23057 CALL CHCOPY(OUT(I), TEMP, J) 23056 I=I+1 GOTO 23055 23057 CONTINUE CALL CHCOPY(58, TEMP, J) GOTO 23054 23053 CONTINUE I = 1 23054 CONTINUE IF (.NOT.(OUT(I) .EQ. 47))GOTO 23058 CALL CHCOPY(91, TEMP, J) I=I+1 23060 IF (.NOT.(OUT(I) .NE. 47 .AND. OUT(I) .NE. 0))GOTO 23062 CALL CHCOPY(OUT(I), TEMP, J) 23061 I=I+1 GOTO 23060 23062 CONTINUE CALL CHCOPY(93, TEMP, J) IF (.NOT.(OUT(I) .EQ. 47))GOTO 23063 CALL STCOPY(OUT, I+1, TEMP, J) 23063 CONTINUE 23058 CONTINUE TEMP(J) = 0 GOTO 23052 23051 CONTINUE CALL STRCPY(OUT, TEMP) 23052 CONTINUE CALL RESDEF(TEMP, TYPE, OUT) RETURN END SUBROUTINE GDRAUX(DESC, FILE, AUX, DATE, FMT) INTEGER DESC, I LOGICAL*1 FILE(100), AUX(100), DATE(100) INTEGER F11HDR LOGICAL*1 HBUF(512) LOGICAL*1 ST004Z(23) DATA ST004Z(1)/82/,ST004Z(2)/101/,ST004Z(3)/97/,ST004Z(4)/100/,ST0 *04Z(5)/32/,ST004Z(6)/97/,ST004Z(7)/99/,ST004Z(8)/99/,ST004Z(9)/101 */,ST004Z(10)/115/,ST004Z(11)/115/,ST004Z(12)/32/,ST004Z(13)/118/,S *T004Z(14)/105/,ST004Z(15)/111/,ST004Z(16)/108/,ST004Z(17)/97/,ST00 *4Z(18)/116/,ST004Z(19)/105/,ST004Z(20)/111/,ST004Z(21)/110/,ST004Z *(22)/33/,ST004Z(23)/0/ IF (.NOT.(F11HDR(DESC, HBUF) .EQ. -3))GOTO 23065 CALL SCOPY(ST004Z, 1, AUX, 1) I=1 23067 IF (.NOT.(I .LE. 11))GOTO 23069 DATE(I) = 32 23068 I=I+1 GOTO 23067 23069 CONTINUE DATE(I) = 0 GOTO 23066 23065 CONTINUE CALL GETAUX(HBUF, FILE, AUX, DATE, FMT) 23066 CONTINUE RETURN END INTEGER FUNCTION GDRPRM(DESC, FILE) LOGICAL*1 FILE(100) INTEGER DESC INTEGER DFIND IF (.NOT.(DFIND(DESC, FILE) .EQ. -1))GOTO 23070 GDRPRM = -1 GOTO 23071 23070 CONTINUE CALL DNOISE(FILE) GDRPRM = 0 23071 CONTINUE RETURN END INTEGER FUNCTION GENPNM(PID) LOGICAL*1 PARENT(7), PID(7) INTEGER INIT, SPSTAT LOGICAL*1 ST005Z(3) LOGICAL*1 ST006Z(3) DATA INIT/1/ DATA ST005Z(1)/84/,ST005Z(2)/73/,ST005Z(3)/0/ DATA ST006Z(1)/46/,ST006Z(2)/49/,ST006Z(3)/0/ IF (.NOT.(INIT .EQ. 1))GOTO 23072 INIT = 0 CALL GETPNM(PARENT) IF (.NOT.((PARENT(1) .EQ. 36 .OR. PARENT(1) .EQ. 46) .AND. PARENT( *2) .NE. PARENT(1)))GOTO 23074 IF (.NOT.(PARENT(6) .GE. 57))GOTO 23076 SPSTAT = -3 GOTO 23077 23076 CONTINUE SPSTAT = 0 PARENT(6) = PARENT(6) + 1 23077 CONTINUE GOTO 23075 23074 CONTINUE CALL TRNDEV(ST005Z, 0, PARENT) PARENT(2) = PARENT(1) PARENT(1) = 36 IF (.NOT.(PARENT(4) .EQ. 58))GOTO 23078 PARENT(4) = PARENT(3) PARENT(3) = 48 23078 CONTINUE CALL STRCPY(ST006Z, PARENT(5)) SPSTAT= 0 23075 CONTINUE 23072 CONTINUE CALL STRCPY(PARENT, PID) GENPNM=(SPSTAT) RETURN END SUBROUTINE GETAUX(HBUF, FILE, AUX, DATE, FMT) LOGICAL*1 HBUF(512), FILE(100), AUX(100), DATE(100), FMT(100) INTEGER GROUP, MEMBER, PROTEC, TYPE, BSIZE(2), CSIZE(2) LOGICAL*1 PROSTR(15), IDATE(14), DATSTR(21), TEMP(20), C LOGICAL*1 CLOWER INTEGER I, J, W, N INTEGER CTOI, DITOC LOGICAL*1 ASCSTR(4) LOGICAL*1 BINSTR(4) INTEGER I23087 DATA ASCSTR(1)/97/,ASCSTR(2)/115/,ASCSTR(3)/99/,ASCSTR(4)/0/ DATA BINSTR(1)/98/,BINSTR(2)/105/,BINSTR(3)/110/,BINSTR(4)/0/ CALL DECNFO(HBUF, IDATE, GROUP, MEMBER, PROTEC, BSIZE, CSIZE, TYPE *) CALL FMTPRO(PROTEC, PROSTR) CALL FRMDAT(IDATE, DATSTR) CALL SRTTIM(IDATE, DATE) CALL FMTUIC(GROUP, MEMBER, IDATE) CALL RESUIC(IDATE, HBUF) AUX(1) = 0 I=1 J=1 23080 IF (.NOT.(FMT(I) .NE. 0))GOTO 23082 IF (.NOT.((48.LE.FMT(I).AND.FMT(I).LE.57)))GOTO 23083 W = CTOI(FMT, I) GOTO 23084 23083 CONTINUE W = 0 23084 CONTINUE IF (.NOT.(FMT(I) .EQ. 0))GOTO 23085 GOTO 23082 23085 CONTINUE C = CLOWER(FMT(I)) I23087=(C) GOTO 23087 23089 CONTINUE N=DITOC(BSIZE, TEMP, 20) 23090 IF (.NOT.(N .LT. W))GOTO 23092 CALL CHCOPY(32, AUX, J) 23091 N=N+1 GOTO 23090 23092 CONTINUE CALL STCOPY(TEMP, 1, AUX, J) GOTO 23088 23093 CONTINUE N=DITOC(CSIZE, TEMP, 20) 23094 IF (.NOT.(N .LT. W))GOTO 23096 CALL CHCOPY(32, AUX, J) 23095 N=N+1 GOTO 23094 23096 CONTINUE CALL STCOPY(TEMP, 1, AUX, J) GOTO 23088 23097 CONTINUE CALL STCOPY(DATSTR, 1, AUX, J) GOTO 23088 23098 CONTINUE N=1 23099 IF (.NOT.(FILE(N) .NE. 0))GOTO 23101 CALL CHCOPY(FILE(N), AUX, J) 23100 N=N+1 GOTO 23099 23101 CONTINUE 23102 IF (.NOT.(N .LE. W))GOTO 23103 CALL CHCOPY(32, AUX, J) N = N + 1 GOTO 23102 23103 CONTINUE GOTO 23088 23104 CONTINUE N=1 23105 IF (.NOT.(HBUF(N) .NE. 0))GOTO 23107 CALL CHCOPY(HBUF(N), AUX, J) 23106 N=N+1 GOTO 23105 23107 CONTINUE 23108 IF (.NOT.(N .LE. W))GOTO 23109 CALL CHCOPY(32, AUX, J) N = N + 1 GOTO 23108 23109 CONTINUE GOTO 23088 23110 CONTINUE CALL STCOPY(PROSTR, 1, AUX, J) GOTO 23088 23111 CONTINUE IF (.NOT.(TYPE .EQ. 12))GOTO 23112 CALL STCOPY(ASCSTR, 1, AUX, J) GOTO 23113 23112 CONTINUE CALL STCOPY(BINSTR, 1, AUX, J) 23113 CONTINUE GOTO 23088 23114 CONTINUE CALL CHCOPY(FMT(I), AUX, J) GOTO 23088 23087 CONTINUE IF (I23087.EQ.98)GOTO 23089 IF (I23087.EQ.99)GOTO 23093 IF (I23087.EQ.109)GOTO 23097 IF (I23087.EQ.110)GOTO 23098 IF (I23087.EQ.111)GOTO 23104 IF (I23087.EQ.112)GOTO 23110 IF (I23087.EQ.116)GOTO 23111 GOTO 23114 23088 CONTINUE 23081 I=I+1 GOTO 23080 23082 CONTINUE CALL FOLD(AUX) RETURN END SUBROUTINE GWDIR(BUF, DTYPE) LOGICAL*1 BUF(100) INTEGER DTYPE, I, LENGTH LOGICAL*1 ST007Z(3) DATA ST007Z(1)/83/,ST007Z(2)/89/,ST007Z(3)/0/ CALL TRNDEV(ST007Z, 0, BUF) I = LENGTH(BUF) + 1 CALL GTDDIR(BUF(I), DTYPE) IF (.NOT.(DTYPE .EQ. 5))GOTO 23115 CALL MKPATH(BUF, BUF) 23115 CONTINUE CALL FOLD(BUF) RETURN END SUBROUTINE HOMDIR(HOME, DTYPE) LOGICAL*1 HOME(100), TEMP(15) INTEGER I, GRP, MEM, DTYPE, J INTEGER LENGTH LOGICAL*1 ST008Z(3) LOGICAL*1 ST009Z(3) DATA ST008Z(1)/104/,ST008Z(2)/111/,ST008Z(3)/0/ DATA ST009Z(1)/115/,ST009Z(2)/121/,ST009Z(3)/0/ CALL TRNDEV(ST008Z, 0, TEMP) IF (.NOT.(TEMP(1) .EQ. 0))GOTO 23117 CALL TRNDEV(ST009Z, 0, TEMP) 23117 CONTINUE CALL FOLD(TEMP) I = LENGTH(TEMP) + 1 CALL GETUID(GRP, MEM) CALL UICFMT(GRP, MEM, TEMP(I)) IF (.NOT.(DTYPE .EQ. 6))GOTO 23119 CALL STRCPY(TEMP, HOME) GOTO 23120 23119 CONTINUE J = 1 CALL CHCOPY(47, HOME, J) I=1 23121 IF (.NOT.(TEMP(I) .NE. 58))GOTO 23123 CALL CHCOPY(TEMP(I), HOME, J) 23122 I=I+1 GOTO 23121 23123 CONTINUE CALL CHCOPY(47, HOME, J) I = I + 2 23124 IF (.NOT.(TEMP(I) .NE. 93))GOTO 23126 CALL CHCOPY(TEMP(I), HOME, J) 23125 I=I+1 GOTO 23124 23126 CONTINUE CALL CHCOPY(47, HOME, J) 23120 CONTINUE RETURN END SUBROUTINE INTSRV INTEGER JUNK INTEGER KILL JUNK = KILL(0) RETURN END INTEGER FUNCTION ITOCF(N, W, FC, BUF, SIZE) LOGICAL*1 BUF(100), FC, TEMP(20) INTEGER W, SIZE, M, ITOC, I, LENGTH, N M = W - ITOC(N, TEMP, 20) I=1 23127 IF (.NOT.(I .LE. M))GOTO 23129 BUF(I) = FC 23128 I=I+1 GOTO 23127 23129 CONTINUE CALL SCOPY(TEMP, 1, BUF, I) ITOCF = LENGTH(BUF) RETURN END INTEGER FUNCTION LOCCOM(COMAND, SPATH, SUFFIX, PATH) LOGICAL*1 COMAND(100), SPATH(100), PATH(100), TEMP(36), SUFFIX(100 *) INTEGER I, N, INT, J, TYPE INTEGER LENGTH, FLFIND, INDEXC I=1 23130 IF (.NOT.(SPATH(I) .NE. 10))GOTO 23132 CALL CONCAT(SPATH(I), COMAND, TEMP) N = LENGTH(TEMP) + 1 IF (.NOT.(INDEXC(COMAND, 46) .GT. 0))GOTO 23133 IF (.NOT.(FLFIND(TEMP, PATH, TYPE) .NE. -3))GOTO 23135 LOCCOM=(TYPE) RETURN 23135 CONTINUE GOTO 23134 23133 CONTINUE J=1 23137 IF (.NOT.(SUFFIX(J) .NE. 10))GOTO 23139 CALL SCOPY(SUFFIX, J, TEMP, N) IF (.NOT.(FLFIND(TEMP, PATH, TYPE) .NE. -3))GOTO 23140 LOCCOM=(TYPE) RETURN 23140 CONTINUE 23138 J=J+LENGTH(SUFFIX(J))+1 GOTO 23137 23139 CONTINUE 23134 CONTINUE 23131 I=I+LENGTH(SPATH(I))+1 GOTO 23130 23132 CONTINUE CALL STRCPY(COMAND, PATH) LOCCOM=(-3) RETURN END SUBROUTINE MAILID(SENDER) LOGICAL*1 SENDER(100), LOGUIC(10), UIC(10), BUF(100) INTEGER I, GRP, MEM, FDB, OPENF, GETS, JUNK, GETWRD, EQUAL, FOUND INTEGER J, LENGTH LOGICAL*1 SYSTEM(7) LOGICAL*1 BLKLP(3) DATA SYSTEM(1)/115/,SYSTEM(2)/121/,SYSTEM(3)/115/,SYSTEM(4)/116/,S *YSTEM(5)/101/,SYSTEM(6)/109/,SYSTEM(7)/0/ DATA BLKLP(1)/32/,BLKLP(2)/40/,BLKLP(3)/0/ CALL GETUID(GRP, MEM) CALL FMTUIC(GRP, MEM, LOGUIC) FOUND = 0 CALL ADRFIL(BUF) IF (.NOT.(OPENF(BUF, 1, FDB) .NE. -3))GOTO 23142 23144 IF (.NOT.(GETS(FDB, BUF, 100) .NE. -1))GOTO 23145 BUF(100) = 0 I = 1 JUNK = GETWRD(BUF, I, SENDER) CALL SKIPBL(BUF, I) 23146 IF (.NOT.(BUF(I) .NE. 32 .AND. BUF(I) .NE. 0))GOTO 23148 23147 I=I+1 GOTO 23146 23148 CONTINUE JUNK = GETWRD(BUF, I, UIC) IF (.NOT.(EQUAL(UIC, LOGUIC) .EQ. 1))GOTO 23149 CALL SKIPBL(BUF, I) J = LENGTH(SENDER) + 1 CALL STCOPY(BLKLP, 1, SENDER, J) I=I+1 23151 IF (.NOT.(BUF(I) .NE. 34))GOTO 23153 CALL CHCOPY(BUF(I), SENDER, J) 23152 I=I+1 GOTO 23151 23153 CONTINUE CALL CHCOPY(41, SENDER, J) FOUND = 1 GOTO 23145 23149 CONTINUE GOTO 23144 23145 CONTINUE CALL CLOSEF(FDB) 23142 CONTINUE IF (.NOT.(FOUND .EQ. 0))GOTO 23154 CALL STRCPY(SYSTEM, SENDER) 23154 CONTINUE RETURN END CALL INITST CALL MAIN CALL ENDST(0) END SUBROUTINE MKPATH(IN, OUT) LOGICAL*1 IN(100), OUT(100), TEMP(36) INTEGER I, J CALL FXLATE(IN, 5, TEMP) OUT(1) = 0 IF (.NOT.(TEMP(1) .NE. 0))GOTO 23156 J = 1 CALL CHCOPY(47, OUT, J) I=1 23158 IF (.NOT.(TEMP(I) .NE. 58))GOTO 23160 CALL CHCOPY(TEMP(I), OUT, J) 23159 I=I+1 GOTO 23158 23160 CONTINUE I = I + 1 IF (.NOT.(TEMP(I) .EQ. 91))GOTO 23161 CALL CHCOPY(47, OUT, J) I=I+1 23163 IF (.NOT.(TEMP(I) .NE. 93))GOTO 23165 CALL CHCOPY(TEMP(I), OUT, J) 23164 I=I+1 GOTO 23163 23165 CONTINUE CALL CHCOPY(47, OUT, J) I = I + 1 IF (.NOT.(TEMP(I) .NE. 0))GOTO 23166 CALL STCOPY(TEMP, I, OUT, J) 23166 CONTINUE 23161 CONTINUE OUT(J) = 0 23156 CONTINUE RETURN END INTEGER FUNCTION OPENDR(STRNG, DESC) INTEGER DESC INTEGER INDEXC, LENGTH, DOPEN LOGICAL*1 STRNG(100), FILE(36) LOGICAL*1 STARS(6) DATA STARS(1)/42/,STARS(2)/46/,STARS(3)/42/,STARS(4)/59/,STARS(5)/ *42/,STARS(6)/0/ CALL FXLATE(STRNG, 5, FILE) IF (.NOT.(INDEXC(FILE, 93) .NE. LENGTH(FILE)))GOTO 23168 OPENDR = -3 GOTO 23169 23168 CONTINUE CALL CONCAT(FILE, STARS, FILE) OPENDR = DOPEN(FILE, DESC) 23169 CONTINUE RETURN END INTEGER FUNCTION PTRTOC(PTR, BUF, SIZE) INTEGER PTR(2), SIZE, JUNK, J, I INTEGER ITOC, ADDSET, LENGTH LOGICAL*1 BUF(SIZE), TEMP(7) JUNK = ITOC(PTR(1), TEMP, 7) J = 1 I=1 23170 IF (.NOT.(TEMP(I) .NE. 0))GOTO 23172 JUNK = ADDSET(TEMP(I), BUF, J, SIZE) 23171 I=I+1 GOTO 23170 23172 CONTINUE JUNK = ADDSET(32, BUF, J, SIZE) JUNK = ITOC(PTR(2), TEMP, 7) I=1 23173 IF (.NOT.(TEMP(I) .NE. 0))GOTO 23175 JUNK = ADDSET(TEMP(I), BUF, J, SIZE) 23174 I=I+1 GOTO 23173 23175 CONTINUE IF (.NOT.(ADDSET(0, BUF, J, SIZE) .EQ. -3))GOTO 23176 BUF(SIZE) = 0 23176 CONTINUE PTRTOC=(LENGTH(BUF)) RETURN END INTEGER FUNCTION REALDV(BUF) LOGICAL*1 BUF(100), DV(2) INTEGER UNIT, I, DEVICE INTEGER CTOO, TYPE, ALUN EQUIVALENCE (DEVICE, DV(1)) REALDV = 0 IF (.NOT.(TYPE(BUF(2)) .EQ. 1))GOTO 23178 IF (.NOT.(TYPE(BUF(3)) .EQ. 1))GOTO 23180 I = TYPE(BUF(4)) IF (.NOT.(I .EQ. 47 .OR. I .EQ. 2 .OR. I .EQ. 0))GOTO 23182 DV(1) = BUF(2) DV(2) = BUF(3) UNIT = CTOO(BUF(4)) IF (.NOT.(ALUN(8, DEVICE, UNIT) .EQ. 1))GOTO 23184 REALDV = 1 23184 CONTINUE 23182 CONTINUE 23180 CONTINUE 23178 CONTINUE RETURN END INTEGER FUNCTION REMOVE(BUF) LOGICAL*1 BUF(36) INTEGER INT, OPEN, FDEL, STATUS INT = OPEN(BUF, 1) IF (.NOT.(INT .NE. -3))GOTO 23186 STATUS = FDEL(INT) CALL CLOSE(INT) GOTO 23187 23186 CONTINUE STATUS = 0 23187 CONTINUE REMOVE=(STATUS) RETURN END SUBROUTINE RESDEF(IN, TYPE, OUT) LOGICAL*1 IN(100), OUT(100) INTEGER INDEXC, I, J, LENGTH, TYPE LOGICAL*1 ST00AZ(3) DATA ST00AZ(1)/83/,ST00AZ(2)/89/,ST00AZ(3)/0/ I = 1 OUT(1) = 0 IF (.NOT.(IN(I) .NE. 0))GOTO 23188 IF (.NOT.(INDEXC(IN, 58) .GT. 0))GOTO 23190 CALL JCOPYS(IN, I, 58, OUT) GOTO 23191 23190 CONTINUE CALL TRNDEV(ST00AZ, 0, OUT) 23191 CONTINUE IF (.NOT.(IN(I) .NE. 0))GOTO 23192 J = LENGTH(OUT) + 1 IF (.NOT.(IN(I) .EQ. 91 .AND. INDEXC(IN, 93) .GT. 0))GOTO 23194 CALL JCOPYS(IN, I, 93, OUT(J)) GOTO 23195 23194 CONTINUE CALL GTDDIR(OUT(J), TYPE) 23195 CONTINUE IF (.NOT.(IN(I) .NE. 0))GOTO 23196 J = LENGTH(OUT) + 1 CALL STRCPY(IN(I), OUT(J)) 23196 CONTINUE 23192 CONTINUE 23188 CONTINUE CALL FOLD(OUT) RETURN END SUBROUTINE RESTIL(PATH, OUT) LOGICAL*1 PATH(100), OUT(100), TOKEN(36), TMP(5) INTEGER I, JUNK, KEY, J, K INTEGER GTFTOK, EQUAL LOGICAL*1 STR(42) DATA STR(1)/98/,STR(2)/105/,STR(3)/110/,STR(4)/1/,STR(5)/117/,STR( *6)/115/,STR(7)/114/,STR(8)/2/,STR(9)/116/,STR(10)/109/,STR(11)/112 */,STR(12)/3/,STR(13)/108/,STR(14)/112/,STR(15)/114/,STR(16)/4/,STR *(17)/109/,STR(18)/115/,STR(19)/103/,STR(20)/5/,STR(21)/109/,STR(22 *)/97/,STR(23)/105/,STR(24)/108/,STR(25)/5/,STR(26)/109/,STR(27)/97 */,STR(28)/110/,STR(29)/6/,STR(30)/115/,STR(31)/114/,STR(32)/99/,ST *R(33)/7/,STR(34)/105/,STR(35)/110/,STR(36)/99/,STR(37)/8/,STR(38)/ *108/,STR(39)/105/,STR(40)/98/,STR(41)/9/,STR(42)/0/ CALL STRCPY(PATH, OUT) IF (.NOT.(PATH(1) .EQ. 126))GOTO 23198 I = 2 TOKEN(1) = 0 KEY = 0 IF (.NOT.(PATH(2) .NE. 47))GOTO 23200 JUNK = GTFTOK(PATH, I, TOKEN) CALL FOLD(TOKEN) KEY = -3 J=1 23202 IF (.NOT.(STR(J) .NE. 0))GOTO 23204 K=1 23205 IF (.NOT.(STR(J) .GE. 32))GOTO 23207 TMP(K) = STR(J) 23206 K=K+1 J=J+1 GOTO 23205 23207 CONTINUE TMP(K) = 0 IF (.NOT.(EQUAL(TOKEN, TMP) .EQ. 1))GOTO 23208 KEY = STR(J) GOTO 23204 23208 CONTINUE 23203 J=J+1 GOTO 23202 23204 CONTINUE 23200 CONTINUE IF (.NOT.(KEY .NE. -3))GOTO 23210 IF (.NOT.(KEY .EQ. 0))GOTO 23212 CALL HOMDIR(TOKEN, 6) GOTO 23213 23212 CONTINUE CALL GETDIR(KEY, 6, TOKEN) 23213 CONTINUE J = 1 CALL STCOPY(TOKEN, 1, OUT, J) IF (.NOT.(PATH(I) .EQ. 47))GOTO 23214 I = I + 1 23214 CONTINUE CALL STRCPY(PATH(I), OUT(J)) 23210 CONTINUE GOTO 23199 23198 CONTINUE IF (.NOT.(PATH(1) .EQ. 46 .AND. PATH(2) .EQ. 47))GOTO 23216 CALL SCOPY(PATH, 3, OUT, 1) 23216 CONTINUE 23199 CONTINUE RETURN END SUBROUTINE RESUIC(UIC, VALUE) LOGICAL*1 UIC(100), VALUE(100), NAME(36), BUF(100), DEFN(36) INTEGER INIT, I, LENGTH, FDB, OPENF, JUNK, GETWRD, TBLOOK, GETS INTEGER MEM( 2000) LOGICAL*1 CMEM(4000) LOGICAL*1 ST00BZ(24) COMMON /CDSMEM/ MEM EQUIVALENCE (CMEM(1),MEM(1)) DATA INIT/1/ DATA ST00BZ(1)/99/,ST00BZ(2)/97/,ST00BZ(3)/110/,ST00BZ(4)/110/,ST0 *0BZ(5)/111/,ST00BZ(6)/116/,ST00BZ(7)/32/,ST00BZ(8)/111/,ST00BZ(9)/ *112/,ST00BZ(10)/101/,ST00BZ(11)/110/,ST00BZ(12)/32/,ST00BZ(13)/117 */,ST00BZ(14)/115/,ST00BZ(15)/101/,ST00BZ(16)/114/,ST00BZ(17)/39/,S *T00BZ(18)/115/,ST00BZ(19)/32/,ST00BZ(20)/102/,ST00BZ(21)/105/,ST00 *BZ(22)/108/,ST00BZ(23)/101/,ST00BZ(24)/0/ IF (.NOT.(INIT .EQ. 1))GOTO 23218 CALL ADRFIL(NAME) CALL TBINIT(2000) IF (.NOT.(OPENF(NAME, 1, FDB) .EQ. -3))GOTO 23220 CALL REMARK(ST00BZ) GOTO 23221 23220 CONTINUE 23222 IF (.NOT.(GETS(FDB, BUF, 100) .NE. -1))GOTO 23223 BUF(100) = 0 I = 1 JUNK = GETWRD(BUF, I, DEFN) JUNK = GETWRD(BUF, I, NAME) JUNK = GETWRD(BUF, I, NAME) CALL TBINST(NAME, DEFN) GOTO 23222 23223 CONTINUE CALL CLOSEF(FDB) 23221 CONTINUE INIT = 0 23218 CONTINUE IF (.NOT.(TBLOOK(UIC, NAME) .EQ. 0))GOTO 23224 CALL STRCPY(UIC, NAME) 23224 CONTINUE CALL STRCPY(NAME, VALUE) RETURN END SUBROUTINE SCRATF (SEED, NAME) LOGICAL*1 SEED(100), NAME(100), TEMP(7) CALL GETPNM(TEMP) CALL FGENR8(TEMP, SEED, NAME) RETURN END INTEGER FUNCTION SSPAWN(IMAGE, ARGS, PID, WAIT) LOGICAL*1 IMAGE(36), ARGS(256), PID(7), WAIT, MCRLIN(80), ARGBUF(2 *56), OUTFIL(36), ERRFIL(36), C, SPIMG(36) LOGICAL*1 CLOWER INTEGER INIT, STATUS, JUNK, OPNOUT, OPNERR, OUTMOD, PRIO INTEGER BCKSPN, EQUAL, SNDARG, STSPWN, GENPNM, INDEXS, LOCCOM, FIL *FNO, GTMODE, STMODE LOGICAL*1 LOCAL(6) LOGICAL*1 BLKGTR(3) LOGICAL*1 BLKQMK(3) LOGICAL*1 SPATH(3) LOGICAL*1 FMTSTR(31) DATA LOCAL(1)/108/,LOCAL(2)/111/,LOCAL(3)/99/,LOCAL(4)/97/,LOCAL(5 *)/108/,LOCAL(6)/0/ DATA BLKGTR(1)/32/,BLKGTR(2)/62/,BLKGTR(3)/0/ DATA BLKQMK(1)/32/,BLKQMK(2)/63/,BLKQMK(3)/0/ DATA SPATH(1)/0/,SPATH(2)/10/,SPATH(3)/0/ DATA FMTSTR(1)/105/,FMTSTR(2)/110/,FMTSTR(3)/115/,FMTSTR(4)/32/,FM *TSTR(5)/37/,FMTSTR(6)/115/,FMTSTR(7)/47/,FMTSTR(8)/116/,FMTSTR(9)/ *97/,FMTSTR(10)/115/,FMTSTR(11)/107/,FMTSTR(12)/61/,FMTSTR(13)/37/, *FMTSTR(14)/115/,FMTSTR(15)/47/,FMTSTR(16)/112/,FMTSTR(17)/114/,FMT *STR(18)/105/,FMTSTR(19)/61/,FMTSTR(20)/37/,FMTSTR(21)/100/,FMTSTR( *22)/46/,FMTSTR(23)/47/,FMTSTR(24)/114/,FMTSTR(25)/117/,FMTSTR(26)/ *110/,FMTSTR(27)/61/,FMTSTR(28)/114/,FMTSTR(29)/101/,FMTSTR(30)/109 */,FMTSTR(31)/0/ DATA INIT/1/ IF (.NOT.(INIT .EQ. 1))GOTO 23226 INIT = 0 CALL GETPRI(PRIO) 23226 CONTINUE CALL STRCPY(IMAGE, SPIMG) CALL FOLD(SPIMG) IF (.NOT.(EQUAL(SPIMG, LOCAL) .EQ. 0))GOTO 23228 IF (.NOT.(LOCCOM(IMAGE, SPATH, SPATH, SPIMG) .NE. 60))GOTO 23230 SSPAWN=(-3) RETURN 23230 CONTINUE 23228 CONTINUE IF (.NOT.(CLOWER(WAIT) .EQ. 98))GOTO 23232 SSPAWN=(BCKSPN(SPIMG, ARGS, PID)) RETURN 23232 CONTINUE OPNOUT = -3 OPNERR = -3 OUTMOD = -3 IF (.NOT.(EQUAL(SPIMG, LOCAL) .EQ. 1))GOTO 23234 CALL STRCPY(ARGS, MCRLIN) GOTO 23235 23234 CONTINUE SSPAWN = -3 IF (.NOT.(GENPNM(PID) .EQ. -3))GOTO 23236 RETURN 23236 CONTINUE CALL STRCPY(ARGS, ARGBUF) OUTMOD = GTMODE(2) IF (.NOT.(INDEXS(ARGBUF, BLKGTR) .EQ. 0))GOTO 23238 IF (.NOT.(FILNFO(2, OUTFIL, JUNK) .EQ. 0))GOTO 23240 OPNOUT = 2 CALL APPRED(2, 62, OUTFIL, ARGBUF) 23240 CONTINUE 23238 CONTINUE I = INDEXS(ARGBUF, BLKQMK) IF (.NOT.(I .NE. 0))GOTO 23242 C = ARGBUF(I+2) IF (.NOT.(C .EQ. 32 .OR. C .EQ. 9 .OR. C .EQ. 0))GOTO 23244 I = 0 23244 CONTINUE 23242 CONTINUE IF (.NOT.(I .EQ. 0))GOTO 23246 IF (.NOT.(FILNFO(3, ERRFIL, JUNK) .EQ. 0))GOTO 23248 OPNERR = 3 CALL APPRED(3, 63, ERRFIL, ARGBUF) 23248 CONTINUE 23246 CONTINUE IF (.NOT.(SNDARG(ARGBUF, PID) .NE. 1))GOTO 23250 CALL SRESET(OPNOUT, OUTFIL) IF (.NOT.(OUTMOD .NE. -3))GOTO 23252 JUNK = STMODE(2, OUTMOD) 23252 CONTINUE CALL SRESET(OPNERR, ERRFIL) RETURN 23250 CONTINUE CALL SPRINT(MCRLIN, FMTSTR, SPIMG, PID, PRIO) 23235 CONTINUE CALL EXTPNM(MCRLIN, PID) CALL TTYDET CALL SETFGD(PID) STATUS = STSPWN(MCRLIN) CALL CLRFGD CALL TTYATT CALL SRESET(OPNOUT, OUTFIL) IF (.NOT.(OUTMOD .NE. -3))GOTO 23254 JUNK = STMODE(2, OUTMOD) 23254 CONTINUE CALL SRESET(OPNERR, ERRFIL) IF (.NOT.(STATUS .NE. 0 .AND. STATUS .NE. 1))GOTO 23256 SSPAWN = -10 GOTO 23257 23256 CONTINUE SSPAWN = 0 23257 CONTINUE RETURN END SUBROUTINE SRESET(INT, FILE) LOGICAL*1 FILE(100) INTEGER INT, JUNK INTEGER ASSNGI IF (.NOT.(INT .NE. -3))GOTO 23258 JUNK = ASSNGI(FILE, 4, INT) 23258 CONTINUE RETURN END SUBROUTINE SRTTIM(IN, OUT) LOGICAL*1 IN(100), OUT(100) LOGICAL*1 MONTH(4, 12), BUF(4), NUMBER(13) INTEGER I, J, EQUAL DATA MONTH/106,97,110,0,102,101,98,0,109,97,114,0, 97,112,114,0,10 *9,97,121,0,106,117,110,0, 106,117,108,0,97,117,103,0,115,101,112,0 *, 111,99,116,0,110,111,118,0,100,101,99,0/ DATA NUMBER/97,98,99,100,101,102, 103,104,105,106,107,108, 109/ J = 1 CALL XCOPY(IN(3), 3, BUF, J) BUF(J) = 0 CALL FOLD(BUF) J = 1 CALL XCOPY(IN(6), 2, OUT, J) I=1 23260 IF (.NOT.(I .LE. 12))GOTO 23262 IF (.NOT.(EQUAL(BUF, MONTH(1, I)) .EQ. 1))GOTO 23263 GOTO 23262 23263 CONTINUE 23261 I=I+1 GOTO 23260 23262 CONTINUE CALL CHCOPY(NUMBER(I), OUT, J) CALL XCOPY(IN(1), 2, OUT, J) CALL SCOPY(IN, 8, OUT, J) CALL FOLD(OUT) RETURN END SUBROUTINE XCOPY(IN, N, OUT, J) INTEGER N, J LOGICAL*1 IN(100), OUT(100) INTEGER I I=1 23265 IF (.NOT.(I .LE. N))GOTO 23267 OUT(J) = IN(I) J = J + 1 23266 I=I+1 GOTO 23265 23267 CONTINUE RETURN END SUBROUTINE FGENR8 (ROOT, SEED, NAME) LOGICAL*1 SEED(100), NAME(100), ROOT(7) INTEGER I, J, CTYPE, TYPE, LENGTH CALL GETDIR(3, 6, NAME) J = LENGTH(NAME) + 1 I=1 23268 IF (.NOT.(ROOT(I) .NE. 0))GOTO 23270 CTYPE = TYPE(ROOT(I)) IF (.NOT.(CTYPE .EQ. 2 .OR. CTYPE .EQ. 1))GOTO 23271 NAME(J) = ROOT(I) J = J + 1 23271 CONTINUE 23269 I=I+1 GOTO 23268 23270 CONTINUE NAME(J) = 46 J = J + 1 I=1 23273 IF (.NOT.(SEED(I) .NE. 0 .AND. I .LE. 3))GOTO 23275 NAME(J) = SEED(I) J = J + 1 23274 I=I+1 GOTO 23273 23275 CONTINUE NAME(J) = 0 RETURN END INTEGER FUNCTION FLFIND(INFIL, OUTFIL, TYPE) LOGICAL*1 INFIL(36), OUTFIL(36) INTEGER TYPE, INT INTEGER OPEN, GETTYP INT = OPEN(INFIL, 1) IF (.NOT.(INT .NE. -3))GOTO 23276 TYPE = GETTYP(INT, TYPE) CALL GLOCNM(INT, OUTFIL) CALL FOLD(OUTFIL) 23276 CONTINUE FLFIND=(INT) RETURN END SUBROUTINE GTZONE(BUF) LOGICAL*1 BUF(100) INTEGER NOW(7) INTEGER DSTIME LOGICAL*1 TZONE(4) DATA TZONE(1)/80/,TZONE(2)/83/,TZONE(3)/84/,TZONE(4)/0/ BUF(1) = TZONE(1) CALL GETNOW(NOW) IF (.NOT.(DSTIME(NOW) .EQ. 1))GOTO 23278 BUF(2) = 68 GOTO 23279 23278 CONTINUE BUF(2) = 83 23279 CONTINUE BUF(3) = 84 BUF(4) = 0 CALL UPPER(BUF) RETURN END INTEGER FUNCTION TRMLST(USER, BUF) LOGICAL*1 USER(100), BUF(100) TRMLST=(0) RETURN END SUBROUTINE BRDCST(MESSAG, TERM) LOGICAL*1 MESSAG(100), TERM(100) RETURN END INTEGER FUNCTION CHMOD(FILE, PROT) LOGICAL*1 FILE(100) INTEGER PROT CHMOD=(-3) RETURN END SUBROUTINE FILSIZ(SIZE, BSIZE, CSIZE) INTEGER SIZE(4), BSIZE(2), CSIZE(2), TSIZE(2), DIF(2) BSIZE(1) = 0 BSIZE(2) = 0 23280 IF (.NOT.(.NOT.(SIZE(1) .LE. 0 .AND. SIZE(2) .LE. 0 .AND. SIZE(3) *.LE. 0)))GOTO 23281 IF (.NOT.(SIZE(3) .EQ. 0))GOTO 23282 IF (.NOT.(SIZE(2) .EQ. 0))GOTO 23284 SIZE(1) = SIZE(1) - 1 SIZE(2) = 256 23284 CONTINUE SIZE(2) = SIZE(2) - 1 SIZE(3) = 256 23282 CONTINUE BSIZE(2) = BSIZE(2) + 1 IF (.NOT.(BSIZE(2) .GE. 10000))GOTO 23286 BSIZE(1) = BSIZE(1) + 1 BSIZE(2) = 0 23286 CONTINUE SIZE(3) = SIZE(3) - 1 GOTO 23280 23281 CONTINUE BSIZE(2) = BSIZE(2) - 1 IF (.NOT.(BSIZE(2) .LT. 0))GOTO 23288 BSIZE(1) = BSIZE(1) - 1 BSIZE(2) = 9999 23288 CONTINUE CSIZE(1) = 0 CSIZE(2) = 0 CSIZE(2) = SIZE(4) TSIZE(1) = BSIZE(1) TSIZE(2) = BSIZE(2) DIF(1) = 0 DIF(2) = 0 DIF(2) = 512 23290 IF (.NOT.(.NOT.(TSIZE(1) .LE. 0 .AND. TSIZE(2) .LE. 0)))GOTO 23291 CSIZE(1) = CSIZE(1) + DIF(1) CSIZE(2) = CSIZE(2) + DIF(2) IF (.NOT.( CSIZE(2) .GE. 10000))GOTO 23292 CSIZE(1) = CSIZE(1) + 1 CSIZE(2) = CSIZE(2) - 10000 23292 CONTINUE TSIZE(2) = TSIZE(2) - 1 IF (.NOT.(TSIZE(2) .LT. 0))GOTO 23294 TSIZE(1) = TSIZE(1) - 1 TSIZE(2) = 9999 23294 CONTINUE GOTO 23290 23291 CONTINUE IF (.NOT.(SIZE(4) .GT. 0))GOTO 23296 BSIZE(2) = BSIZE(2) + 1 IF (.NOT.(BSIZE(2) .GE. 10000))GOTO 23298 BSIZE(1) = BSIZE(1) + 1 BSIZE(2) = 0 23298 CONTINUE 23296 CONTINUE RETURN END