SUBROUTINE MAIN LOGICAL*1 BUF(402) INTEGER GETARG, OPEN INTEGER I, INT, VERBOS, NF LOGICAL*1 ST001Z(28) 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)/9 *9/,ST001Z(10)/97/,ST001Z(11)/116/,ST001Z(12)/32/,ST001Z(13)/91/,ST *001Z(14)/45/,ST001Z(15)/118/,ST001Z(16)/93/,ST001Z(17)/32/,ST001Z( *18)/91/,ST001Z(19)/102/,ST001Z(20)/105/,ST001Z(21)/108/,ST001Z(22) */101/,ST001Z(23)/93/,ST001Z(24)/32/,ST001Z(25)/46/,ST001Z(26)/46/, *ST001Z(27)/46/,ST001Z(28)/0/ CALL QUERY(ST001Z) VERBOS = 0 NF = 0 I=1 23000 IF (.NOT.(GETARG(I, BUF, 402) .NE. -1))GOTO 23002 IF (.NOT.(BUF(1) .EQ. 45))GOTO 23003 IF (.NOT.(BUF(2) .EQ. 0))GOTO 23005 INT = 1 GOTO 23006 23005 CONTINUE IF (.NOT.(BUF(2) .EQ. 118 .OR. BUF(2) .EQ. 86))GOTO 23007 VERBOS = 1 GOTO 23008 23007 CONTINUE CALL BADARG(BUF) 23008 CONTINUE GOTO 23001 23006 CONTINUE GOTO 23004 23003 CONTINUE INT = OPEN(BUF, 1) 23004 CONTINUE IF (.NOT.(INT .EQ. -3))GOTO 23009 CALL CANT(BUF) 23009 CONTINUE NF = NF + 1 CALL CATEN8(INT, 2, VERBOS) IF (.NOT.(INT .NE. 1))GOTO 23011 CALL CLOSE(INT) 23011 CONTINUE 23001 I=I+1 GOTO 23000 23002 CONTINUE IF (.NOT.(NF .EQ. 0))GOTO 23013 CALL CATEN8(1, 2, VERBOS) 23013 CONTINUE RETURN END SUBROUTINE CATEN8(IN, OUT, VERBOS) INTEGER IN, OUT INTEGER VERBOS LOGICAL*1 C LOGICAL*1 GETCH 23015 IF (.NOT.(GETCH(C, IN) .NE. -1))GOTO 23016 IF (.NOT.(VERBOS .EQ. 1))GOTO 23017 IF (.NOT.(C .NE. 10 .AND. (C .LT. 32 .OR. C .EQ. 127)))GOTO 23019 CALL PUTCH(94, OUT) IF (.NOT.(C .EQ. 127))GOTO 23021 C = 63 GOTO 23022 23021 CONTINUE C = C + 64 23022 CONTINUE GOTO 23020 23019 CONTINUE IF (.NOT.(C .EQ. 10))GOTO 23023 CALL PUTCH(36, OUT) 23023 CONTINUE 23020 CONTINUE 23017 CONTINUE CALL PUTCH(C, OUT) GOTO 23015 23016 CONTINUE RETURN END