SUBROUTINE MAIN LOGICAL*1 BUF(400) INTEGER GETARG, OPEN INTEGER I I=1 23000 CONTINUE IF(.NOT.(GETARG(I,BUF,400) .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. 63 .AND. BUF(2) .EQ. 0))GOTO 23007 CALL ERROR(22Husage: os [file ...].) GOTO 23008 23007 CONTINUE IF(.NOT.(BUF(1) .EQ. 45 .AND. BUF(2) .EQ. 0))GOTO 23009 INT = 1 GOTO 23010 23009 CONTINUE INT = OPEN(BUF,1) IF(.NOT.(INT .EQ. -3))GOTO 23011 CALL CANT(BUF) 23011 CONTINUE 23010 CONTINUE 23008 CONTINUE 23004 CONTINUE CALL OVERS (INT) IF(.NOT.(INT .NE. 1))GOTO 23013 CALL CLOSE(INT) 23013 CONTINUE 23001 I=I+1 GOTO 23000 23002 CONTINUE RETURN END SUBROUTINE OVERS(INT) LOGICAL*1 GETCH LOGICAL*1 C INTEGER COL, NEWCOL, INT COL = 1 23015 CONTINUE NEWCOL = COL 23018 IF(.NOT.(GETCH(C,INT) .EQ. 8))GOTO 23019 NEWCOL = MAX0(NEWCOL-1, 1) GOTO 23018 23019 CONTINUE IF(.NOT.(NEWCOL .LT. COL))GOTO 23020 CALL PUTC(10) CALL PUTC(43) COL=1 23022 IF(.NOT.(COL.LT.NEWCOL))GOTO 23024 CALL PUTC(32) 23023 COL=COL+1 GOTO 23022 23024 CONTINUE GOTO 23021 23020 CONTINUE IF(.NOT.(COL .EQ. 1 .AND. C .NE. -1))GOTO 23025 CALL PUTC(32) 23025 CONTINUE 23021 CONTINUE IF(.NOT.(C .EQ. -1))GOTO 23027 GOTO 23017 23027 CONTINUE CALL PUTC(C) IF(.NOT.(C .EQ. 10))GOTO 23029 COL = 1 GOTO 23030 23029 CONTINUE COL = COL + 1 23030 CONTINUE 23016 GOTO 23015 23017 CONTINUE RETURN END