parent
08fbf99d63
commit
d9695db87f
|
@ -0,0 +1,48 @@
|
|||
c SEGVs in loop.c with -O2.
|
||||
|
||||
character*80 function nxtlin(lun,ierr,itok)
|
||||
character onechr*1,twochr*2,thrchr*3
|
||||
itok=0
|
||||
do while (.true.)
|
||||
read (lun,'(a)',iostat=ierr) nxtlin
|
||||
if (nxtlin(1:1).ne.'#') then
|
||||
ito=0
|
||||
do 10 it=1,79
|
||||
if (nxtlin(it:it).ne.' ' .and. nxtlin(it+1:it+1).eq.' ')
|
||||
$ then
|
||||
itast=0
|
||||
itstrt=0
|
||||
do itt=ito+1,it
|
||||
if (nxtlin(itt:itt).eq.'*') itast=itt
|
||||
enddo
|
||||
itstrt=ito+1
|
||||
do while (nxtlin(itstrt:itstrt).eq.' ')
|
||||
itstrt=itstrt+1
|
||||
enddo
|
||||
if (itast.gt.0) then
|
||||
nchrs=itast-itstrt
|
||||
if (nchrs.eq.1) then
|
||||
onechr=nxtlin(itstrt:itstrt)
|
||||
read (onechr,*) itokn
|
||||
elseif (nchrs.eq.2) then
|
||||
twochr=nxtlin(itstrt:itstrt+1)
|
||||
read (twochr,*) itokn
|
||||
elseif (nchrs.eq.3) then
|
||||
thrchr=nxtlin(itstrt:itstrt+2)
|
||||
read (thrchr,*) itokn
|
||||
elseif (nchrs.eq.4) then
|
||||
thrchr=nxtlin(itstrt:itstrt+3)
|
||||
read (thrchr,*) itokn
|
||||
endif
|
||||
itok=itok+itokn
|
||||
else
|
||||
itok=itok+1
|
||||
endif
|
||||
ito=it+1
|
||||
endif
|
||||
10 continue
|
||||
return
|
||||
endif
|
||||
enddo
|
||||
return
|
||||
end
|
Loading…
Reference in New Issue