program fix character*132 line character*20 fname logical isopen open(unit=1,file='help.txt',status='old', 1 carriagecontrol='none') open(unit=6,file='index.html',status='new', 1 carriagecontrol='list') write(6,100) 100 format('') write(6,101) write(6,*) '' write(6,*) '' write(6,*) '' 101 format('RT-11 5.7 Help index') write(6,102) 102 format('') write(6,103) 103 format('') write(6,104) 104 format('

RT-11 5.7 Help index

') write(6,105) 105 format('
') isopen=.false. 10 read(1,1,end=999) l,line 1 format(q,a132) call htmlify(l,line) if (index(line,'.ENDM').ne.0) then write(10,76) WRITE(10,*) '
' WRITE(10,*) 'Tim Shoppa
' WRITE(10,*) '7328 Bradley Blvd
' WRITE(10,*) 'Bethesda, MD 20817
' WRITE(10,*) 'Voice:+1 301 767 5917
' WRITE(10,*) 'Fax:+1 301 767 5927
' WRITE(10,*) 'Email:shoppa@trailing-edge.com' WRITE(10,*) '' 76 format(' ') close(10) isopen=.false. end if if (index(line,'.MACRO').ne.0) go to 11 if (isopen) write(10,2) line go to 10 11 if (index(line,'9999').ne.0) go to 10 2 format(a) read(1,1,end=999) l,line call htmlify(l,line) do l2=1,l ic=ichar(line(l2:l2)) if (ic.eq.9 .or. ic.eq.32) go to 290 end do go to 10 c290 write(6,*) '
',line(1:l2-1) 290 fname=line(1:l2-1)//'.html' do i=1,l2+4 ic=ichar(fname(i:i)) if (ic.le.ichar('Z') .and. ic.ge.ichar('A')) ic=ic+32 fname(i:i)=char(ic) end do write(6,*) '
', 1 line(1:l2-1),'' close(10) open(unit=10,file=fname,carriagecontrol='list',status='new') isopen=.true. write(10,*) '' write(10,*) ' Help for ',line(1:l2-1), 1 '' write(10,*) '' write(10,*) '' write(10,*) '' write(10,*) '
'
	write(10,2) line
	do l3=l2+1,l
	  ic=ICHAR(line(l3:l3))
	  if (ic.ne.9 .and. ic.ne.32) go to 300
	end do
	write(10,*)
	go to 10

300	write(6,*) '
',line(l3:l) 305 read(1,1,end=999) l,line call htmlify(l,line) l2=1 do l3=l2,l ic=ICHAR(line(l3:l3)) if (ic.ne.9 .and. ic.ne.32) go to 310 end do write(10,*) go to 10 310 write(6,*) ' ',line(l3:l) write(10,2) line go to 305 999 write(6,*) '
' WRITE(6,*) '
' WRITE(6,*) '
' WRITE(6,*) 'Tim Shoppa
' WRITE(6,*) '7328 Bradley Blvd
' WRITE(6,*) 'Bethesda, MD 20817
' WRITE(6,*) 'Voice:+1 301 767 5917
' WRITE(6,*) 'Fax:+1 301 767 5927
' WRITE(6,*) 'Email:shoppa@trailing-edge.com' WRITE(6,*) '
' write(6,*) '' close(6) close(10) end subroutine htmlify(l,line) character*(*) line character c integer l c convert characters & < > " into their HTML-ized equivs i=1 10 c=line(i:i) if (c.eq.'<') then type *,line line(i+4:)=line(i+1:) line(i:i+3)='<' l=l+3 i=i+3 else if (c.eq.'>') then type *,line line(i+4:)=line(i+1:) line(i:i+3)='>' l=l+3 i=i+3 else if (c.eq.'&') then type *,line line(i+5:)=line(i+1:) line(i:i+4)='&' l=l+4 i=i+4 else if (c.eq.'"') then type *,line line(i+6:)=line(i+1:) line(i:i+5)='"' l=l+5 i=i+5 end if i=i+1 if (i.le.l) go to 10 return end