COMMON /ARCOM/FNAME0(128,256),FSTAT0(256),NFILE0,ERRCN0 INTEGER FNAME0 INTEGER FSTAT0,NFILE0,ERRCN0 INTEGER A$BUF(200) INTEGER ANAME(102) INTEGER GETARG INTEGER USAGE(53) INTEGER PARSCL INTEGER AAAAA0(15) INTEGER AAAAB0(20) DATA USAGE/213,243,225,231,229,186,160,225,242,160,173,168,225,219 *,228,221,252,228,252,240,252,244,252,245,219,228,221,252,248,169,2 *19,246,221,160,188,225,242,227,232,233,246,229,190,160,251,188,230 *,233,236,229,190,253,0/ DATA AAAAA0/225,228,240,244,245,248,246,160,238,188,233,231,238,19 *0,0/ DATA AAAAB0/225,242,227,232,233,246,229,160,238,239,244,160,225,23 *6,244,229,242,229,228,0/ IF((PARSCL(AAAAA0,A$BUF).NE.-3))GOTO 10000 CALL ERROR(USAGE) 10000 IF((GETARG(1,ANAME,102).NE.-1))GOTO 10001 CALL ERROR(USAGE) 10001 CALL DELARG(1) ERRCN0=0 CALL GETFNS IF((ERRCN0.EQ.0))GOTO 10002 CALL ERROR(AAAAB0) 10002 GOTO 10003 10004 IF((A$BUF(240-225+1).NE.0))GOTO 10006 IF((A$BUF(244-225+1).NE.0))GOTO 10006 IF((A$BUF(245-225+1).NE.0))GOTO 10006 IF((A$BUF(248-225+1).NE.0))GOTO 10006 GOTO 10005 10006 CALL ERROR(USAGE) 10005 CALL APPEND(ANAME,(A$BUF(228-225+1).NE.0),(A$BUF(246-225+1).NE.0 *)) GOTO 10007 10008 IF((A$BUF(228-225+1).NE.0))GOTO 10010 IF((A$BUF(240-225+1).NE.0))GOTO 10010 IF((A$BUF(245-225+1).NE.0))GOTO 10010 IF((A$BUF(248-225+1).NE.0))GOTO 10010 GOTO 10009 10010 CALL ERROR(USAGE) 10009 CALL TABLE(ANAME,(A$BUF(246-225+1).NE.0)) GOTO 10007 10011 IF((A$BUF(228-225+1).NE.0))GOTO 10013 IF((A$BUF(245-225+1).NE.0))GOTO 10013 IF((A$BUF(248-225+1).NE.0))GOTO 10013 GOTO 10012 10013 CALL ERROR(USAGE) 10012 CALL EXTRA0(ANAME,240,(A$BUF(246-225+1).NE.0)) GOTO 10007 10014 IF((A$BUF(248-225+1).EQ.0))GOTO 10015 CALL ERROR(USAGE) 10015 CALL UPDATE(ANAME,(A$BUF(228-225+1).NE.0),(A$BUF(246-225+1).NE.0 *)) GOTO 10007 10016 IF((A$BUF(248-225+1).EQ.0))GOTO 10017 CALL ERROR(USAGE) 10017 CALL DELETE(ANAME,(A$BUF(246-225+1).NE.0)) GOTO 10007 10018 CALL EXTRA0(ANAME,248,(A$BUF(246-225+1).NE.0)) GOTO 10007 10003 IF((A$BUF(225-225+1).NE.0))GOTO 10004 IF((A$BUF(244-225+1).NE.0))GOTO 10008 IF((A$BUF(240-225+1).NE.0))GOTO 10011 IF((A$BUF(245-225+1).NE.0))GOTO 10014 IF((A$BUF(228-225+1).NE.0))GOTO 10016 IF((A$BUF(248-225+1).NE.0))GOTO 10018 CALL ERROR(USAGE) 10007 CALL SWT END INTEGER * 4 FUNCTION ACOPY(IFD,OFD,SIZE) INTEGER IFD,OFD INTEGER * 4 SIZE INTEGER BUF(2048),LEN INTEGER READF INTEGER * 4 I,LIM LIM=SIZE-2048 I=0 GOTO 10021 10019 I=I+(LEN) 10021 IF((I.GT.LIM))GOTO 10020 LEN=READF(BUF,2048,IFD) IF((LEN.LE.0))GOTO 10022 CALL WRITEF(BUF,LEN,OFD) GOTO 10023 10022 ACOPY=I RETURN 10023 GOTO 10019 10020 IF((SIZE-I.LE.0))GOTO 10024 LEN=READF(BUF,INTS(SIZE-I),IFD) IF((LEN.LE.0))GOTO 10025 CALL WRITEF(BUF,LEN,OFD) I=I+(LEN) 10025 CONTINUE 10024 ACOPY=I RETURN END SUBROUTINE ADDFIL(NAME,AFD,ERRCNT) INTEGER NAME(1) INTEGER AFD INTEGER ERRCNT INTEGER * 4 SIZE INTEGER * 4 FSIZE INTEGER HEAD(192) INTEGER NFD INTEGER OPEN INTEGER AAAAC0(16) DATA AAAAC0/170,243,186,160,227,225,238,167,244,160,225,228,228,17 *0,238,0/ NFD=OPEN(NAME,1) IF((NFD.NE.-3))GOTO 10026 CALL PRINT(-15,AAAAC0,NAME) ERRCNT=ERRCNT+(1) 10026 IF((ERRCNT.NE.0))GOTO 10027 SIZE=FSIZE(NFD) CALL MAKHDR(NAME,SIZE,HEAD) CALL PUTLIN(HEAD,AFD) CALL FLUSH$(AFD) CALL FCOPY(NFD,AFD) 10027 CALL CLOSE(NFD) RETURN END SUBROUTINE AMOVE(NAME1,NAME2) INTEGER NAME1(1),NAME2(1) INTEGER CREATE,OPEN INTEGER FD1,FD2 INTEGER AAAAD0(32) INTEGER AAAAE0(1) DATA AAAAD0/227,225,238,167,244,160,242,229,240,236,225,227,229,16 *0,225,242,227,232,233,246,229,160,247,233,244,232,160,170,243,170, *238,0/ DATA AAAAE0/0/ FD1=OPEN(NAME1,1) IF((FD1.EQ.-3))GOTO 10028 FD2=CREATE(NAME2,2) 10028 IF((FD1.EQ.-3))GOTO 10030 IF((FD2.EQ.-3))GOTO 10030 GOTO 10029 10030 CALL PRINT(-15,AAAAD0,NAME1) CALL ERROR(AAAAE0) 10029 CALL FCOPY(FD1,FD2) CALL CLOSE(FD1) CALL CLOSE(FD2) CALL REMOVE(NAME1) RETURN END SUBROUTINE APPEND(ANAME,REMOPT,VERBO0) INTEGER ANAME(1) LOGICAL REMOPT,VERBO0 COMMON /ARCOM/FNAME0(128,256),FSTAT0(256),NFILE0,ERRCN0 INTEGER FNAME0 INTEGER FSTAT0,NFILE0,ERRCN0 INTEGER FILARG,GETHDR,REMOVE INTEGER I INTEGER * 4 SIZE INTEGER AFD INTEGER OPEN INTEGER HEAD(192),NAME(128) INTEGER AAAAF0(25) INTEGER AAAAG0(5) INTEGER AAAAH0(20) INTEGER AAAAI0(19) DATA AAAAF0/170,243,186,160,225,236,242,229,225,228,249,160,233,23 *8,160,225,242,227,232,233,246,229,170,238,0/ DATA AAAAG0/170,243,170,238,0/ DATA AAAAH0/225,242,227,232,233,246,229,160,238,239,244,160,225,23 *6,244,229,242,229,228,0/ DATA AAAAI0/170,243,186,160,227,225,238,167,244,160,242,229,237,23 *9,246,229,170,238,0/ IF((NFILE0.GT.0))GOTO 10031 RETURN 10031 AFD=OPEN(ANAME,3) IF((AFD.NE.-3))GOTO 10032 CALL CANT(ANAME) 10032 CONTINUE 10033 IF((GETHDR(AFD,HEAD,NAME,SIZE).EQ.-1))GOTO 10034 IF((FILARG(NAME).NE.1))GOTO 10035 CALL PRINT(-15,AAAAF0,NAME) ERRCN0=ERRCN0+(1) 10035 CALL FSKIP(AFD,SIZE) GOTO 10033 10034 DO 10036 I=1,NFILE0 IF((FSTAT0(I).NE.0))GOTO 10038 IF((.NOT.VERBO0))GOTO 10039 CALL PRINT(-11,AAAAG0,FNAME0(1,I)) 10039 CALL ADDFIL(FNAME0(1,I),AFD,ERRCN0) 10038 CONTINUE 10036 CONTINUE 10037 CALL CLOSE(AFD) IF((ERRCN0.EQ.0))GOTO 10040 CALL ERROR(AAAAH0) GOTO 10041 10040 IF((.NOT.REMOPT))GOTO 10042 DO 10043 I=1,NFILE0 IF((REMOVE(FNAME0(1,I)).NE.-3))GOTO 10045 CALL PRINT(-15,AAAAI0,FNAME0(1,I)) 10045 CONTINUE 10043 CONTINUE 10044 CONTINUE 10042 CONTINUE 10041 RETURN END SUBROUTINE DELETE(ANAME,VERBO0) INTEGER ANAME(1) LOGICAL VERBO0 COMMON /ARCOM/FNAME0(128,256),FSTAT0(256),NFILE0,ERRCN0 INTEGER FNAME0 INTEGER FSTAT0,NFILE0,ERRCN0 INTEGER AFD,TFD INTEGER CREATE,OPEN INTEGER TNAME(14) INTEGER AAAAJ0(20) INTEGER AAAAK0(20) DATA TNAME/225,242,227,244,229,237,240,174,189,240,233,228,189,0/ DATA AAAAJ0/228,229,236,229,244,229,160,226,249,160,238,225,237,22 *9,160,239,238,236,249,0/ DATA AAAAK0/225,242,227,232,233,246,229,160,238,239,244,160,225,23 *6,244,229,242,229,228,0/ IF((NFILE0.GT.0))GOTO 10046 CALL ERROR(AAAAJ0) 10046 AFD=OPEN(ANAME,3) IF((AFD.NE.-3))GOTO 10047 CALL CANT(ANAME) 10047 TFD=CREATE(TNAME,3) IF((TFD.NE.-3))GOTO 10048 CALL CANT(TNAME) 10048 CALL REPLA0(AFD,TFD,228,VERBO0,ERRCN0) CALL CLOSE(AFD) CALL CLOSE(TFD) IF((ERRCN0.NE.0))GOTO 10049 CALL NOTFO0 10049 IF((ERRCN0.NE.0))GOTO 10050 CALL AMOVE(TNAME,ANAME) GOTO 10051 10050 CALL REMOVE(TNAME) CALL ERROR(AAAAK0) 10051 RETURN END SUBROUTINE EXTRA0(ANAME,CMD,VERBO0) INTEGER ANAME(1),CMD LOGICAL VERBO0 COMMON /ARCOM/FNAME0(128,256),FSTAT0(256),NFILE0,ERRCN0 INTEGER FNAME0 INTEGER FSTAT0,NFILE0,ERRCN0 INTEGER ENAME(128),HEAD(192) INTEGER AFD,EFD INTEGER OPEN,CREATE,MKTEMP INTEGER FILARG,GETHDR,ISATTY INTEGER * 4 SIZE INTEGER * 4 ACOPY INTEGER AAAAL0(5) INTEGER AAAAM0(19) INTEGER AAAAN0(14) DATA AAAAL0/170,243,170,238,0/ DATA AAAAM0/170,243,186,160,227,225,238,167,244,160,227,242,229,22 *5,244,229,170,238,0/ DATA AAAAN0/240,242,229,237,225,244,245,242,229,160,197,207,198,0/ AFD=OPEN(ANAME,1) IF((AFD.NE.-3))GOTO 10052 CALL CANT(ANAME) 10052 IF((CMD.NE.240))GOTO 10053 IF((ISATTY(-11).NE.1))GOTO 10054 EFD=MKTEMP(3) IF((EFD.NE.-3))GOTO 10055 CALL ERROR('can''t open temporary file for extraction.') 10055 GOTO 10056 10054 EFD=-11 10056 CONTINUE 10053 CONTINUE 10057 IF((GETHDR(AFD,HEAD,ENAME,SIZE).EQ.-1))GOTO 10058 IF((FILARG(ENAME).NE.0))GOTO 10059 CALL FSKIP(AFD,SIZE) GOTO 10060 10059 IF((.NOT.VERBO0))GOTO 10061 CALL PRINT(-11,AAAAL0,ENAME) 10061 IF((CMD.EQ.240))GOTO 10062 EFD=CREATE(ENAME,2) 10062 IF((EFD.NE.-3))GOTO 10063 CALL PRINT(-15,AAAAM0,ENAME) ERRCN0=ERRCN0+(1) CALL FSKIP(AFD,SIZE) GOTO 10064 10063 IF((ACOPY(AFD,EFD,SIZE).EQ.SIZE))GOTO 10065 ERRCN0=ERRCN0+(1) CALL REMARK(AAAAN0) 10065 IF((CMD.EQ.240))GOTO 10066 CALL CLOSE(EFD) 10066 CONTINUE 10064 CONTINUE 10060 GOTO 10057 10058 IF((CMD.NE.240))GOTO 10067 IF((ISATTY(-11).NE.1))GOTO 10067 CALL REWIND(EFD) CALL FCOPY(EFD,-11) CALL RMTEMP(EFD) 10067 IF((ERRCN0.NE.0))GOTO 10068 CALL NOTFO0 10068 RETURN END INTEGER FUNCTION FILARG(NAME) INTEGER NAME(1) COMMON /ARCOM/FNAME0(128,256),FSTAT0(256),NFILE0,ERRCN0 INTEGER FNAME0 INTEGER FSTAT0,NFILE0,ERRCN0 INTEGER I INTEGER EQUAL IF((NFILE0.GT.0))GOTO 10069 FILARG=1 RETURN 10069 DO 10070 I=1,NFILE0 IF((EQUAL(NAME,FNAME0(1,I)).NE.1))GOTO 10072 FSTAT0(I)=1 FILARG=1 RETURN 10072 CONTINUE 10070 CONTINUE 10071 FILARG=0 RETURN END INTEGER * 4 FUNCTION FSIZE(FD) INTEGER FD INTEGER * 4 MARKF CALL WIND(FD) FSIZE=MARKF(FD) CALL REWIND(FD) RETURN END SUBROUTINE FSKIP(FD,N) INTEGER FD INTEGER * 4 N CALL SEEKF(N,FD,1) RETURN END SUBROUTINE GETFNS COMMON /ARCOM/FNAME0(128,256),FSTAT0(256),NFILE0,ERRCN0 INTEGER FNAME0 INTEGER FSTAT0,NFILE0,ERRCN0 INTEGER JUNK(128) INTEGER I,J,STATE(4) INTEGER EQUAL,GFNARG,GETARG INTEGER AAAAO0(39) INTEGER AAAAP0(26) DATA AAAAO0/227,225,238,167,244,160,232,225,238,228,236,229,160,23 *7,239,242,229,160,244,232,225,238,160,170,233,160,230,233,236,229, *160,238,225,237,229,243,170,238,0/ DATA AAAAP0/170,243,186,160,228,245,240,236,233,227,225,244,229,16 *0,230,233,236,229,160,238,225,237,229,170,238,0/ IF((GETARG(1,JUNK,1).NE.-1))GOTO 10073 NFILE0=0 RETURN 10073 STATE(1)=1 I=1 GOTO 10076 10074 I=I+(1) 10076 IF((I.GT.256))GOTO 10075 FSTAT0(I)=0 IF((GFNARG(FNAME0(1,I),STATE).NE.-1))GOTO 10077 GOTO 10075 10077 GOTO 10074 10075 IF((I.LE.256))GOTO 10078 IF((GFNARG(JUNK,STATE).EQ.-1))GOTO 10078 CALL PRINT(-15,AAAAO0,256) ERRCN0=ERRCN0+(1) 10078 NFILE0=I-1 I=1 GOTO 10081 10079 I=I+(1) 10081 IF((I.GE.NFILE0))GOTO 10080 J=I+1 GOTO 10084 10082 J=J+(1) 10084 IF((J.GT.NFILE0))GOTO 10083 IF((EQUAL(FNAME0(1,I),FNAME0(1,J)).NE.1))GOTO 10085 CALL PRINT(-15,AAAAP0,FNAME0(1,I)) ERRCN0=ERRCN0+(1) 10085 GOTO 10082 10083 GOTO 10079 10080 RETURN END INTEGER FUNCTION GETHDR(FD,HEAD,NAME,SIZE) INTEGER FD INTEGER HEAD(192),NAME(128) INTEGER * 4 SIZE COMMON /ARCOM/FNAME0(128,256),FSTAT0(256),NFILE0,ERRCN0 INTEGER FNAME0 INTEGER FSTAT0,NFILE0,ERRCN0 INTEGER TEMP(128) INTEGER I,LEN INTEGER EQUAL,GETLIN,GETWRD INTEGER * 4 CTOL INTEGER HDR(6) INTEGER AAAAQ0(6) INTEGER AAAAR0(29) INTEGER AAAAS0(6) DATA HDR/163,200,196,163,186,0/ DATA AAAAQ0/163,163,163,200,186,0/ DATA AAAAR0/225,242,227,232,233,246,229,160,238,239,244,160,233,23 *8,160,240,242,239,240,229,242,160,230,239,242,237,225,244,0/ DATA AAAAS0/163,163,163,200,186,0/ IF((GETLIN(HEAD,FD,192).NE.-1))GOTO 10086 GETHDR=-1 RETURN 10086 I=1 LEN=GETWRD(HEAD,I,TEMP,128) IF((EQUAL(TEMP,HDR).NE.0))GOTO 10087 IF((EQUAL(TEMP,AAAAQ0).NE.0))GOTO 10087 CALL REMARK(AAAAR0) ERRCN0=ERRCN0+(1) GETHDR=-1 RETURN 10087 IF((EQUAL(TEMP,AAAAS0).NE.1))GOTO 10088 CALL CONVE0(HEAD) 10088 CALL GETWRD(HEAD,I,NAME,128) SIZE=CTOL(HEAD,I) GETHDR=-2 RETURN END INTEGER FUNCTION GETWRD(IN,I,OUT,MAX) INTEGER IN(1),OUT(1) INTEGER I,MAX INTEGER J 10089 IF((IN(I).NE.160))GOTO 10090 I=I+(1) GOTO 10089 10090 J=1 10091 IF((IN(I).EQ.0))GOTO 10092 IF((IN(I).EQ.160))GOTO 10092 IF((IN(I).EQ.138))GOTO 10092 IF((J.LT.MAX))GOTO 10093 GOTO 10092 10093 OUT(J)=IN(I) I=I+(1) J=J+(1) GOTO 10091 10092 OUT(J)=0 GETWRD=J-1 RETURN END SUBROUTINE GETDA0(SDATE) INTEGER SDATE(12) INTEGER MONTH,I INTEGER CTOI INTEGER MMDDYY(9) INTEGER SPOS(13) INTEGER SMON(48) INTEGER AAAAT0(15) DATA SMON/202,225,238,0,198,229,226,0,205,225,242,0,193,240,242,0, *205,225,249,0,202,245,238,0,202,245,236,0,193,245,231,0,211,229,24 *0,0,207,227,244,0,206,239,246,0,196,229,227,0/ DATA SPOS/12,1,5,9,13,17,21,25,29,33,37,41,45/ DATA AAAAT0/170,243,173,170,172,178,243,173,177,185,170,172,178,24 *3,0/ CALL DATE(1,MMDDYY) I=1 MONTH=CTOI(MMDDYY,I) CALL ENCODE(SDATE,12,AAAAT0,SMON(SPOS(MONTH+1)),MMDDYY(4),MMDDYY(7 *)) RETURN END SUBROUTINE MAKHDR(NAME,SIZE,HEAD) INTEGER NAME(128),HEAD(192) INTEGER * 4 SIZE INTEGER DAT(12),TIM(9) INTEGER HDR(6) INTEGER AAAAU0(20) DATA HDR/163,200,196,163,186,0/ DATA AAAAU0/170,243,160,170,243,160,160,170,236,160,160,170,243,16 *0,160,170,243,170,238,0/ CALL GETDA0(DAT) CALL DATE(2,TIM) CALL ENCODE(HEAD,192,AAAAU0,HDR,NAME,SIZE,DAT,TIM) RETURN END SUBROUTINE NOTFO0 COMMON /ARCOM/FNAME0(128,256),FSTAT0(256),NFILE0,ERRCN0 INTEGER FNAME0 INTEGER FSTAT0,NFILE0,ERRCN0 INTEGER I INTEGER AAAAV0(21) DATA AAAAV0/170,243,186,160,238,239,244,160,233,238,160,225,242,22 *7,232,233,246,229,170,238,0/ I=1 GOTO 10096 10094 I=I+(1) 10096 IF((I.GT.NFILE0))GOTO 10095 IF((FSTAT0(I).NE.0))GOTO 10097 CALL PRINT(-15,AAAAV0,FNAME0(1,I)) ERRCN0=ERRCN0+(1) 10097 GOTO 10094 10095 RETURN END SUBROUTINE REPLA0(AFD,TFD,CMD,VERBO0,ERRCNT) INTEGER AFD,TFD INTEGER CMD LOGICAL VERBO0 INTEGER ERRCNT INTEGER HEAD(192),NAME(128) INTEGER FILARG,GETHDR INTEGER * 4 SIZE INTEGER * 4 ACOPY INTEGER TFD INTEGER AAAAW0(5) INTEGER AAAAX0(14) DATA AAAAW0/170,243,170,238,0/ DATA AAAAX0/240,242,229,237,225,244,245,242,229,160,197,207,198,0/ 10098 IF((GETHDR(AFD,HEAD,NAME,SIZE).EQ.-1))GOTO 10099 IF((FILARG(NAME).NE.1))GOTO 10100 IF((.NOT.VERBO0))GOTO 10101 CALL PRINT(-11,AAAAW0,NAME) 10101 IF((CMD.NE.245))GOTO 10102 CALL ADDFIL(NAME,TFD,ERRCNT) 10102 CALL FSKIP(AFD,SIZE) GOTO 10103 10100 CALL PUTLIN(HEAD,TFD) IF((ACOPY(AFD,TFD,SIZE).EQ.SIZE))GOTO 10104 ERRCNT=ERRCNT+(1) CALL REMARK(AAAAX0) 10104 CONTINUE 10103 GOTO 10098 10099 RETURN END SUBROUTINE TABLE(ANAME,VERBO0) INTEGER ANAME(1) LOGICAL VERBO0 COMMON /ARCOM/FNAME0(128,256),FSTAT0(256),NFILE0,ERRCN0 INTEGER FNAME0 INTEGER FSTAT0,NFILE0,ERRCN0 INTEGER HEAD(192),NAME(128) INTEGER FILARG,GETHDR INTEGER * 4 SIZE INTEGER AFD INTEGER OPEN AFD=OPEN(ANAME,1) IF((AFD.NE.-3))GOTO 10105 CALL CANT(ANAME) 10105 CONTINUE 10106 IF((GETHDR(AFD,HEAD,NAME,SIZE).EQ.-1))GOTO 10107 IF((FILARG(NAME).NE.1))GOTO 10108 CALL TPRINT(HEAD,VERBO0) 10108 CALL FSKIP(AFD,SIZE) GOTO 10106 10107 IF((ERRCN0.NE.0))GOTO 10109 CALL NOTFO0 10109 RETURN END SUBROUTINE TPRINT(BUF,VERBO0) INTEGER BUF(1) LOGICAL VERBO0 INTEGER I INTEGER NAME(128),SIZE(12),DATE(12),TIME(9) INTEGER AAAAY0(5) INTEGER AAAAZ0(16) DATA AAAAY0/170,243,170,238,0/ DATA AAAAZ0/170,243,160,170,243,160,170,173,182,243,160,170,243,17 *0,238,0/ I=1 CALL GETWRD(BUF,I,NAME,128) CALL GETWRD(BUF,I,NAME,128) IF(VERBO0)GOTO 10110 CALL PRINT(-11,AAAAY0,NAME) GOTO 10111 10110 CALL GETWRD(BUF,I,SIZE,12) CALL GETWRD(BUF,I,DATE,12) CALL GETWRD(BUF,I,TIME,9) CALL PRINT(-11,AAAAZ0,DATE,TIME,SIZE,NAME) 10111 RETURN END SUBROUTINE UPDATE(ANAME,REMOPT,VERBO0) INTEGER ANAME(1) LOGICAL REMOPT,VERBO0 COMMON /ARCOM/FNAME0(128,256),FSTAT0(256),NFILE0,ERRCN0 INTEGER FNAME0 INTEGER FSTAT0,NFILE0,ERRCN0 INTEGER I INTEGER REMOVE INTEGER AFD,TFD INTEGER OPEN,CREATE INTEGER TNAME(14) INTEGER AAABA0(5) INTEGER AAABB0(19) INTEGER AAABC0(20) DATA TNAME/225,242,227,244,229,237,240,174,189,240,233,228,189,0/ DATA AAABA0/170,243,170,238,0/ DATA AAABB0/170,243,186,160,227,225,238,167,244,160,242,229,237,23 *9,246,229,170,238,0/ DATA AAABC0/225,242,227,232,233,246,229,160,238,239,244,160,225,23 *6,244,229,242,229,228,0/ AFD=OPEN(ANAME,3) IF((AFD.NE.-3))GOTO 10112 AFD=CREATE(ANAME,3) 10112 IF((AFD.NE.-3))GOTO 10113 CALL CANT(ANAME) 10113 TFD=CREATE(TNAME,3) IF((TFD.NE.-3))GOTO 10114 CALL CANT(TNAME) 10114 CALL REPLA0(AFD,TFD,245,VERBO0,ERRCN0) I=1 GOTO 10117 10115 I=I+(1) 10117 IF((I.GT.NFILE0))GOTO 10116 IF((FSTAT0(I).NE.0))GOTO 10118 IF((.NOT.VERBO0))GOTO 10119 CALL PRINT(-11,AAABA0,FNAME0(1,I)) 10119 CALL ADDFIL(FNAME0(1,I),TFD,ERRCN0) FSTAT0(I)=1 10118 GOTO 10115 10116 CALL CLOSE(AFD) CALL CLOSE(TFD) IF((ERRCN0.NE.0))GOTO 10120 CALL AMOVE(TNAME,ANAME) IF((.NOT.REMOPT))GOTO 10121 I=1 GOTO 10124 10122 I=I+(1) 10124 IF((I.GT.NFILE0))GOTO 10123 IF((REMOVE(FNAME0(1,I)).NE.-3))GOTO 10125 CALL PRINT(-15,AAABB0,FNAME0(1,I)) 10125 GOTO 10122 10123 CONTINUE 10121 GOTO 10126 10120 CALL REMOVE(TNAME) CALL ERROR(AAABC0) 10126 RETURN END SUBROUTINE CONVE0(HEAD) INTEGER HEAD(192) INTEGER I INTEGER GETWRD INTEGER NAME(128),SIZE(12),MON(4),DAY(3),YEAR(5),TIME(9) INTEGER FLAG(6) INTEGER AAABD0(26) DATA FLAG/163,200,196,163,186,0/ DATA AAABD0/170,243,160,170,243,160,160,170,243,160,160,170,243,17 *3,170,243,173,170,243,160,160,170,243,170,238,0/ I=1 CALL GETWRD(HEAD,I,NAME,128) CALL GETWRD(HEAD,I,NAME,128) CALL GETWRD(HEAD,I,SIZE,12) CALL GETWRD(HEAD,I,MON,4) CALL GETWRD(HEAD,I,DAY,3) CALL GETWRD(HEAD,I,YEAR,5) CALL GETWRD(HEAD,I,TIME,9) CALL ENCODE(HEAD,192,AAABD0,FLAG,NAME,SIZE,MON,DAY,YEAR,TIME) RETURN END C ---- Long Name Map ---- C Nfiles nfile0 C Fname fname0 C notfound notfo0 C Errcnt errcn0 C verbose verbo0 C extract extra0 C Fstat fstat0 C replace repla0 C getdate getda0 C convertheader conve0