SUBROUTINE MAIN LOGICAL*1 BUF(402) INTEGER GETARG, OPEN INTEGER I LOGICAL*1 ST001Z(22) DATA ST001Z(1)/117/,ST001Z(2)/115/,ST001Z(3)/97/,ST001Z(4)/103/,ST *001Z(5)/101/,ST001Z(6)/58/,ST001Z(7)/32/,ST001Z(8)/32/,ST001Z(9)/1 *17/,ST001Z(10)/108/,ST001Z(11)/32/,ST001Z(12)/91/,ST001Z(13)/102/, *ST001Z(14)/105/,ST001Z(15)/108/,ST001Z(16)/101/,ST001Z(17)/93/,ST0 *01Z(18)/32/,ST001Z(19)/46/,ST001Z(20)/46/,ST001Z(21)/46/,ST001Z(22 *)/0/ CALL QUERY( ST001Z ) I = 1 23000 CONTINUE IF (.NOT.( GETARG( I, BUF, 402) .EQ. -1 ))GOTO 23003 IF (.NOT.( I .NE. 1 ))GOTO 23005 GOTO 23002 23005 CONTINUE INT = 1 GOTO 23004 23003 CONTINUE IF (.NOT.( BUF(1) .EQ. 45 .AND. BUF(2) .EQ. 0 ))GOTO 23007 INT = 1 GOTO 23008 23007 CONTINUE INT = OPEN( BUF, 1) IF (.NOT.( INT .EQ. -3 ))GOTO 23009 CALL CANT(BUF) 23009 CONTINUE 23008 CONTINUE 23004 CONTINUE CALL OVERS(INT) IF (.NOT.( INT .NE. 1 ))GOTO 23011 CALL CLOSE(INT) 23011 CONTINUE 23001 I = I + 1 GOTO 23000 23002 CONTINUE RETURN END SUBROUTINE OVERS(FD) LOGICAL*1 GETCH LOGICAL*1 C, LIN1(402), LIN2(402) INTEGER FD INTEGER INDEXC INTEGER BSPCNT, COL, I LIN1(1) = 0 LIN2(1) = 0 COL = 1 BSPCNT = 0 C = GETCH( C, FD) 23013 IF (.NOT.(C .NE. -1 ))GOTO 23015 IF (.NOT.( C .EQ. 10 ))GOTO 23016 I = 1 23018 IF (.NOT.(LIN1(I) .NE. 0 ))GOTO 23020 IF (.NOT.( LIN1(I) .EQ. 95 ))GOTO 23021 LIN1(I) = LIN2(I) LIN2(I) = 95 23021 CONTINUE 23019 I = I + 1 GOTO 23018 23020 CONTINUE CALL PUTLIN( LIN1, 2) IF (.NOT.( INDEXC( LIN2, 95) .NE. 0 ))GOTO 23023 CALL PUTCH(13,2) CALL PUTLIN( LIN2, 2) 23023 CONTINUE CALL PUTCH(10,2) COL = 1 BSPCNT = 0 LIN1(1) = 0 LIN2(1) = 0 GOTO 23017 23016 CONTINUE IF (.NOT.( C .EQ. 8 ))GOTO 23025 BSPCNT = BSPCNT + 1 GOTO 23026 23025 CONTINUE IF (.NOT.( BSPCNT .GT. 0 ))GOTO 23027 LIN2( COL - BSPCNT ) = C BSPCNT = BSPCNT - 1 GOTO 23028 23027 CONTINUE CALL INSCHR( 32, LIN2, COL) CALL INSCHR( C, LIN1, COL) COL = COL + 1 23028 CONTINUE 23026 CONTINUE 23017 CONTINUE 23014 C = GETCH( C, FD) GOTO 23013 23015 CONTINUE RETURN END SUBROUTINE INSCHR( C, STR, J) LOGICAL*1 C LOGICAL*1 STR(402) LOGICAL*1 BUF(402) INTEGER I, J BUF(1) = 0 CALL SCOPY( STR, J, BUF, 1) CALL SCOPY( BUF, 1, STR, J + 1 ) STR(J) = C RETURN END