SUBROUTINE REW (CHAN, FILE) INTEGER CHAN, FILE (1) CALL CLOSF(CHAN,IERR) CALL OPENF(CHAN,FILE,IERR) IF(IERR.NE.1)STOP 2222 RETURN END SUBROUTINE RDLIN (CHAN, BUFFER, MAX, ERROR) INTEGER CHAN, BUFFER (40), MAX, ERROR INTEGER WORDS WORDS = (MAX + 1)/2 READ (CHAN, 1000, END = 100) (BUFFER (I), I = 1, WORDS) ERROR = 1 RETURN 100 ERROR = 9 RETURN 1000 FORMAT (40A2) END SUBROUTINE WRLIN(CHAN,BUFFER,CHARS) INTEGER CHAN,BUFFER(1),CHARS INTEGER WORDS,PNTR,FMT(6),BBBB,Z100,Z3030 DATA FMT/'(','1X',',',1,'A2',')'/ DATA BBBB/' '/,Z100/Z100/,Z3030/Z3030/ WORDS=(CHARS+1)/2 IT=WORDS+1 DO 10 IK=1,WORDS PNTR=IT-IK IF(BUFFER(PNTR).NE.BBBB)GOTO 20 10 CONTINUE 20 CONTINUE FMT(4)=(PNTR/10*Z100)+(PNTR-(PNTR/10)*10)+Z3030 CALL FMTW(CHAN,FMT,BUFFER,PNTR) RETURN END SUBROUTINE RDSEQ (CHAN, BUFFER, COUNT, ERROR) INTEGER CHAN, COUNT, BUFFER (1), ERROR INTEGER WORDS WORDS = (COUNT + 1)/2 READ (CHAN,1000, END = 100) (BUFFER (I), I = 1, WORDS) 1000 FORMAT(1A2) ERROR = 1 RETURN 100 ERROR = 9 RETURN END SUBROUTINE WRSEQ (CHAN, BUFFER, COUNT) INTEGER CHAN, COUNT, BUFFER (1) INTEGER WORDS WORDS = (COUNT + 1)/2 WRITE (CHAN,1000) (BUFFER (I), I = 1, WORDS) 1000 FORMAT(1A2) RETURN END