diff --git a/lib/get_q3list.f90 b/lib/get_q3list.f90 index 7ca54e447..8828c659f 100644 --- a/lib/get_q3list.f90 +++ b/lib/get_q3list.f90 @@ -22,14 +22,10 @@ subroutine get_q3list(fname,bDiskData,nlist,list) common/lu24com/file24name nhist2=0 -! open(24,file=fname,status='unknown',form='unformatted') - open(24,file=fname,status='unknown') -! read(24,end=1) nhist2 - read(24,*,end=1) nhist2 + open(24,file=fname,status='unknown',form='unformatted') + read(24,end=1) nhist2 if(nhist2.ge.1 .and. nhist2.le.40) then -! read(24,end=1) ctmp(1:nhist2) - read(24,3001,end=1) ctmp(1:nhist2) -3001 format(a6,2x,a4,2x,i11,2i5) + read(24,end=1) ctmp(1:nhist2) else nhist2=0 endif @@ -57,10 +53,8 @@ subroutine get_q3list(fname,bDiskData,nlist,list) enddo nhist2=j -! write(24) nhist2 - write(24,*) nhist2 -! write(24) callers(1:nhist2) - write(24,3001) callers(1:nhist2) + write(24) nhist2 + write(24) callers(1:nhist2) call indexx(callers(1:nhist2)%nfreq,nhist2,indx) do i=1,nhist2 @@ -104,10 +98,9 @@ subroutine rm_q3list(dxcall0) common/lu24com/file24name dxcall=dxcall0 - open(24,file=trim(file24name),status='unknown') - read(24,*) nhist2 - read(24,3001) callers(1:nhist2) -3001 format(a6,2x,a4,2x,i11,2i5) + open(24,file=trim(file24name),status='unknown',form='unformatted') + read(24) nhist2 + read(24) callers(1:nhist2) if(nhist2.eq.MAX_CALLERS .and. dxcall.eq.callers(nhist2)%call) then nhist2=MAX_CALLERS - 1 @@ -124,8 +117,8 @@ subroutine rm_q3list(dxcall0) enddo 10 rewind 24 - write(24,*) nhist2 - write(24,3001) callers(1:nhist2) + write(24) nhist2 + write(24) callers(1:nhist2) close(24) return diff --git a/lib/q65_decode.f90 b/lib/q65_decode.f90 index 1feb6b23c..04d447158 100644 --- a/lib/q65_decode.f90 +++ b/lib/q65_decode.f90 @@ -114,15 +114,11 @@ contains mycall13=mycall if(ncontest.eq.1) then ! NA VHF, WW-Digi, or ARRL Digi Contest -! open(24,file=trim(data_dir)//'/tsil.3q',status='unknown', & -! form='unformatted') - open(24,file=trim(data_dir)//'/tsil.3q',status='unknown') -! read(24,end=2) nhist2 - read(24,*,end=2) nhist2 + open(24,file=trim(data_dir)//'/tsil.3q',status='unknown', & + form='unformatted') + read(24,end=2) nhist2 if(nhist2.ge.1 .and. nhist2.le.40) then -! read(24,end=2) callers(1:nhist2) - read(24,3001,end=2) callers(1:nhist2) -3001 format(a6,2x,a4,2x,i11,2i5) + read(24,end=2) callers(1:nhist2) now=time() do i=1,nhist2 hours=(now - callers(i)%nsec)/3600.0 diff --git a/lib/qra/q65/q65.f90 b/lib/qra/q65/q65.f90 index d044631b2..636f36a39 100644 --- a/lib/qra/q65/q65.f90 +++ b/lib/qra/q65/q65.f90 @@ -896,6 +896,7 @@ subroutine q65_hist2(nfreq,msg0,callers,nhist2) if(callers(i)%call .eq. c6) then newcall=.false. callers(i)%nsec=time() + callers(i)%nfreq=nfreq exit endif enddo @@ -914,12 +915,10 @@ subroutine q65_hist2(nfreq,msg0,callers,nhist2) endif if(nhist2.ge.1 .and. nhist2.le.40) then -! open(24,file=trim(data_dir)//'/tsil.3q',status='unknown', & -! form='unformatted') - open(24,file=trim(data_dir)//'/tsil.3q',status='unknown') - write(24,*) nhist2 - write(24,3001) callers(1:nhist2) -3001 format(a6,2x,a4,2x,i11,2i5) + open(24,file=trim(data_dir)//'/tsil.3q',status='unknown', & + form='unformatted') + write(24) nhist2 + write(24) callers(1:nhist2) close(24) endif diff --git a/lib/qra/q65/q65_set_list2.f90 b/lib/qra/q65/q65_set_list2.f90 index a01681e6d..39147e61c 100644 --- a/lib/qra/q65/q65_set_list2.f90 +++ b/lib/qra/q65/q65_set_list2.f90 @@ -22,7 +22,7 @@ subroutine q65_set_list2(mycall,hiscall,hisgrid,callers,nhist2,codewords,ncw) call stdcall(hiscall,std) jmax=nhist2 if(std .and. isgrid(hisgrid(1:4))) then - jmax=nhist2+1 + jmax=min(MAX_CALLERS,nhist2+1) do j=1,nhist2 if(callers(j)%call .eq. hiscall(1:6)) then jmax=nhist2 diff --git a/widgets/mainwindow.cpp b/widgets/mainwindow.cpp index 7d03f84c4..c291f2657 100644 --- a/widgets/mainwindow.cpp +++ b/widgets/mainwindow.cpp @@ -3790,7 +3790,7 @@ void MainWindow::callSandP2(int n) n=qAbs(n)-1; if(m_mode!="Q65" and m_ready2call[n]=="") return; QStringList w=m_ready2call[n].split(' ', SkipEmptyParts); - if(m_mode=="Q65" and m_specOp==SpecOp::Q65_PILEUP and n <= m_callers->size()) { + if(m_mode=="Q65" and m_specOp==SpecOp::Q65_PILEUP and n < 40) { // This code is for 6m EME DXpedition operator w=m_callers[n].split(' ', SkipEmptyParts); m_deCall=w[2]; diff --git a/widgets/mainwindow.h b/widgets/mainwindow.h index 92bd2dcc0..7b525f379 100644 --- a/widgets/mainwindow.h +++ b/widgets/mainwindow.h @@ -669,7 +669,7 @@ private: QString m_deCall; QString m_deGrid; QString m_ready2call[50]; - QString m_callers[40]; + QString m_callers[50]; QSet m_pfx; QSet m_sfx;