INTEGER ARG(128) INTEGER UNIT,FOUT INTEGER OPEN,CREATE,GETNE0 INTEGER OUTFI0(8) DATA OUTFI0/236,233,226,174,239,245,244,0/ FOUT=CREATE(OUTFI0,2) IF((FOUT.NE.-3))GOTO 10000 CALL CANT(OUTFI0) 10000 CONTINUE 10001 IF((GETNE0(ARG).EQ.-1))GOTO 10002 UNIT=OPEN(ARG,1) IF((UNIT.NE.-3))GOTO 10003 CALL CANT(ARG) 10003 CALL FCOPY(UNIT,FOUT) CALL CLOSE(UNIT) GOTO 10001 10002 CALL CLOSE(FOUT) CALL SWT END INTEGER FUNCTION GETNE0(ARG) INTEGER ARG(1) INTEGER GETARG,GETLIN INTEGER COUNT,LEN DATA COUNT/0/ IF((GETARG(1,ARG,128).EQ.-1))GOTO 10004 COUNT=COUNT+1 GETNE0=GETARG(COUNT,ARG,128) GOTO 10005 10004 LEN=GETLIN(ARG,-10,128) IF((LEN.NE.-1))GOTO 10006 GETNE0=-1 GOTO 10007 10006 ARG(LEN)=0 GETNE0=LEN-1 10007 CONTINUE 10005 RETURN END SUBROUTINE FCOPY(FIN,FOUT) INTEGER FIN,FOUT INTEGER GETBY0 INTEGER B 10008 IF((GETBY0(B,FIN).NE.-2))GOTO 10009 CALL PUTBY0(B,FOUT) GOTO 10008 10009 RETURN END INTEGER FUNCTION GETBY0(B,FD) INTEGER B,FD INTEGER JUNK,RC INTEGER MAPFD CALL PRWF$$(:1,MAPFD(FD),LOC(B),1,INTL(0),JUNK,RC) IF((RC.NE.0))GOTO 10010 GETBY0=-2 GOTO 10011 10010 GETBY0=-3 10011 RETURN END SUBROUTINE PUTBY0(B,FD) INTEGER B,FD INTEGER W,JUNK INTEGER MAPFD W=RT(B,8) CALL PRWF$$(:2,MAPFD(FD),LOC(W),1,INTL(0),JUNK,JUNK) RETURN END C ---- Long Name Map ---- C putbyte putby0 C getbyte getby0 C outfile outfi0 C getnext getne0