SUBROUTINE REW (CHAN, FILE) INTEGER CHAN, FILE (1) REWIND CHAN 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