INTEGER BUF(30702),ARG(128) INTEGER BP,EP,NLINES,FENCE,I INTEGER GETLIN,GETARG,GCTOI INTEGER FD INTEGER OPEN INTEGER AAAAA0(12) INTEGER AAAAB0(12) DATA AAAAA0/175,228,229,246,175,243,244,228,233,238,175,0/ DATA AAAAB0/175,228,229,246,175,243,244,228,233,238,175,0/ IF((GETARG(1,ARG,128).NE.-1))GOTO 10000 NLINES=20 CALL SCOPY(AAAAA0,1,ARG,1) GOTO 10001 10000 I=1 NLINES=GCTOI(ARG,I,10) IF((NLINES.NE.0))GOTO 10002 NLINES=20 GOTO 10003 10002 IF((GETARG(2,ARG,128).NE.-1))GOTO 10004 CALL SCOPY(AAAAB0,1,ARG,1) 10004 CONTINUE 10003 CONTINUE 10001 FD=OPEN(ARG,1) IF((FD.NE.-3))GOTO 10005 CALL CANT(ARG) 10005 IF((NLINES.GE.0))GOTO 10006 GOTO 10009 10007 NLINES=NLINES+(1) 10009 IF((NLINES.GE.0))GOTO 10008 IF((GETLIN(BUF,FD).NE.-1))GOTO 10010 CALL SWT 10010 GOTO 10007 10008 CALL FCOPY(FD,-11) GOTO 10011 10006 NLINES=MIN0(MAX0(0,NLINES),300) FENCE=NLINES*102 I=0 BP=1 EP=1 10012 IF((GETLIN(BUF(EP),FD).EQ.-1))GOTO 10013 I=I+(1) IF((EP.LE.FENCE))GOTO 10014 EP=1 GOTO 10015 10014 EP=EP+(102) 10015 IF((I.LE.NLINES))GOTO 10016 IF((BP.LE.FENCE))GOTO 10017 BP=1 GOTO 10018 10017 BP=BP+(102) 10018 CONTINUE 10016 GOTO 10012 10013 CONTINUE 10019 IF((BP.EQ.EP))GOTO 10020 CALL PUTLIN(BUF(BP),-11) IF((BP.LE.FENCE))GOTO 10021 BP=1 GOTO 10022 10021 BP=BP+(102) 10022 GOTO 10019 10020 CONTINUE 10011 CALL SWT END C ---- Long Name Map ----