PROGRAM DFC C C THIS UTILITY WILL TRANSFER DATA STORED C IN ONE TYPE OF FILE INTO ANOTHER. C TYPES: ONE RECORD PER FILE C ONE NUMBER PER RECORD C C WRITTEN BY: JEFF HAMILTON C E-SYSTEMS C P.O.BOX 1056 C GREENVILLE, TEXAS 75401 C (214)454-4175 C OCT 20 1980 C BYTE BUF(80),FILE(33) LOGICAL*1 NUMBER,RECORD DIMENSION A(4096) C NUMBER=.FALSE. RECORD=.FALSE. N=4096 C C START OF MAIN CODE C CALL GETMCR(BUF,IDS) DO 10,I=5,IDS IF(BUF(I).EQ.'/')GO TO 20 FILE(I-4)=BUF(I) 10 CONTINUE TYPE *,'NO SWITCH FOUND' CALL EXIT 20 IF(BUF(I+1).EQ.'N'.AND.BUF(I+2).EQ.'U')NUMBER=.TRUE. IF(BUF(I+1).EQ.'R'.AND.BUF(I+2).EQ.'E')RECORD=.TRUE. IF(.NOT.RECORD.AND..NOT.NUMBER)GO TO 804 IF(BUF(I+3).NE.':'.OR.I+2.EQ.IDS)GO TO 22 DECODE(IDS-I-3,100,BUF(I+4))N IF(N.GT.4096.OR.N.LT.2)GO TO 806 22 OPEN(UNIT=1,NAME=FILE,TYPE='OLD',ERR=805) OPEN(UNIT=2,NAME=FILE,TYPE='NEW') C C READ SECTION C IF(RECORD)GO TO 30 READ(1,*,END=800,ERR=801)(A(J),J=1,N) DO 25,J=1,N 25 WRITE(2,*,ERR=802)A(J) GO TO 40 30 DO 35,J=1,N 35 READ(1,*,END=38,ERR=801)A(J) 38 WRITE(2,*,ERR=802)(A(K),K=1,J-1) C C CLOSE SECTION C 40 CLOSE(UNIT=1,DISPOSE='DELETE') CLOSE(UNIT=2) CALL EXIT C C ERROR SECTION C 800 TYPE *,'UNEXPECTED EOF' GO TO 803 801 TYPE *,'ERROR ON READ' GO TO 803 802 TYPE *,'ERROR ON WRITE' 803 CLOSE(UNIT=1) CLOSE(UNIT=2) CALL EXIT 804 TYPE *,'NON RECOGNIZABLE COMMAND' CALL EXIT 805 WRITE(5,854)(FILE(K),K=1,I-5) CALL EXIT 806 TYPE *,'WRONG SIZE N' CALL EXIT 854 FORMAT(1X,'ERROR OPENING ',33A1) 100 FORMAT(I) END