!!
!!**************************************************
!!
!!     CONVERT SOURCE TO OMF TYPE SQFILE.
!!   
!!***************************************************
!!
EXTERNALROUTINE  CSOMF(STRING (63) S)
EXTERNALROUTINESPEC  OPENOMF(STRING (32) S,INTEGER  CH,MODE)
EXTERNALROUTINESPEC  WRITEOMF(INTEGER  CH,FROM,  L)
EXTERNALROUTINESPEC  CLOSEOMF(INTEGER  CH)
SYSTEMROUTINESPEC  CONNECT(STRING (32) S INTEGER  A,M,P, C 
RECORDNAME  R, INTEGERNAME  FLAG)
RECORDFORMAT  RFMT(INTEGER  CONAD,FILTYPE,DATASTART, C 
DATAEND,SIZE,EEP,REP,MODE,USERS,ARCH,STRING (6) TRAN,STRING (8) DATE, C 
TIME, INTEGER  COUNT1,SPARE1,SPARE2)
STRING (32) INFILE,OUTF
INTEGER  CONAD,FLAG,I,L,J,TOP
RECORDFORMAT  FHEADFMT(INTEGER  FILELEN,HEADLEN,SIZE,TYPE, C 
SUMCHECK,DATETIME,SP1,SP2)
RECORDNAME  FHEAD(FHEADFMT)
RECORD  R(RFMT)
!!
!!
->ERRORP UNLESS  S->INFILE.(",").OUTF
OPENOMF(OUTF,1,1)
CONNECT(INFILE,0,0,0,R,FLAG)  
->ERRORO IF  FLAG#0
FHEAD==RECORD(R_CONAD)
->ERRORT IF  FHEAD_TYPE#3
I=R_CONAD+32
TOP=R_CONAD+FHEAD_FILELEN
!!
CYCLE  J=0,1,10000000
EXIT  IF  I>=TOP
L=0
WHILE  BYTEINTEGER(I+L)#NL THEN  CYCLE 
L=L+1
->OUT IF  I+L>=TOP
REPEAT 
WRITEOMF(1,I,L) UNLESS  L=0  ;! SCRUB BLANK LINE
I=I+L+1
REPEAT 
OUT:
!!
NEWLINES(2)
WRITE(J,1)
PRINTSTRING(" RECORDS WRITTEN TO ".OUTF."
")
CLOSEOMF(1)
->END
!!
ERRORP:  PRINTSTRING('
PARAMETERS FAULTY - SHOULD BE INFILE,OUTFILE 
')
->END
ERRORT: PRINTSTRING("
NOT A SOURCE FILE!
")
->END
ERRORO: PRINTSTRING('
CONNECT FAILS , FLAG = ')
WRITE(FLAG,0)
->END
END:   
END 
ENDOFFILE