SUBROUTINE READIN(MAXREC,BUFFER,EOFFLG,NREAD) LOGICAL*1 BUFFER(1),EOFFLG,TABFLG INTEGER*2 TOTLEN,LLEN(9),KEYLOC(9),KEYORD(9),KEYLEN(9) COMMON LPEREC,TOTLEN,LLEN,NKEYS,KEYLOC,KEYORD,KEYLEN COMMON /TABFLG/TABFLG N=1 DO 2 I=1,MAXREC DO 2 J=1,LPEREC KL=N+1 L=LLEN(J)-1 IF(L.EQ.0)L=1 KH=N+L READ(2,1,END=3)(BUFFER(K),K=KL,KH) 1 FORMAT(A1) IF(.NOT.TABFLG)GOTO7 K=0 12 IF(BUFFER(KL+K).NE.9)GOTO8 KD=K/8*8-K+7 IF(KH-KD.LE.KL+K)GOTO10 DO 9 M=KH-KD,KL+K+1,-1 9 BUFFER(M+KD)=BUFFER(M) 10 DO 11 M=KL+K,KL+K+KD 11 BUFFER(M)=' ' K=K+KD 8 K=K+1 IF(K.LE.KH-KL)GOTO12 7 BUFFER(N)=LENGTH(BUFFER(KL),L) 2 N=N+LLEN(J) EOFFLG=.FALSE. NREAD=MAXREC RETURN 3 IF(J.EQ.1)GOTO6 DO 4 J=J,LPEREC KL=N+1 L=LLEN(J)-1 KH=N+L DO 5 K=KL,KH 5 BUFFER(K)=' ' BUFFER(N)=0 4 N=N+LLEN(J) I=I+1 6 NREAD=I-1 EOFFLG=.TRUE. RETURN END