diff --git a/CMakeLists.txt b/CMakeLists.txt index df5605e2b..f646a8877 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1177,6 +1177,9 @@ target_link_libraries (wsprcode wsjt_fort wsjt_cxx) add_executable (encode77 lib/77bit/encode77.f90) target_link_libraries (encode77 wsjt_fort wsjt_cxx) +add_executable (hash22calc lib/77bit/hash22calc.f90) +target_link_libraries (hash22calc wsjt_fort wsjt_cxx) + add_executable (wsprsim ${wsprsim_CSRCS}) target_link_libraries (wsprsim ${LIBM_LIBRARIES}) diff --git a/lib/77bit/hash22calc.f90 b/lib/77bit/hash22calc.f90 new file mode 100644 index 000000000..500e1eea1 --- /dev/null +++ b/lib/77bit/hash22calc.f90 @@ -0,0 +1,42 @@ +program hash22calc +! Given a valid callsign, calculate and print its 22-bit hash. + + use packjt77 + + character*13 callsign + character*1 c + character*6 basecall + logical cok + + nargs=iargc() + if(nargs.ne.1) then + print*,'Given a valid callsign, print its 22-bit hash.' + print*,'Usage: hash22calc ' + print*,' e.g. hash22calc W9ABC' + go to 999 + endif + call getarg(1,callsign) + +! convert to upper case + ilen=len(trim(callsign)) + do i=1, ilen + c=callsign(i:i) + if(c.ge.'a' .and. c.le.'z') c=char(ichar(c)-32) !Force upper case + callsign(i:i)=c + enddo + +! check for a valid callsign + call chkcall(callsign,basecall,cok) + if(.not.cok) then + print*,'Invalid callsign' + print*,'Usage: hash22calc ' + goto 999 + endif + +! calculate the hash + n22 = ihashcall(callsign,22) + write(*,'(a,i7.7)') callsign,n22 + +999 end program hash22calc + +include '../chkcall.f90' diff --git a/widgets/mainwindow.cpp b/widgets/mainwindow.cpp index 3b7055c9a..3f9cfff0e 100644 --- a/widgets/mainwindow.cpp +++ b/widgets/mainwindow.cpp @@ -5884,7 +5884,7 @@ void MainWindow::genCQMsg () ( tlist.at(1)==my_callsign or tlist.at(2)==my_callsign ) and stdCall(my_callsign)) { - if(m_config.Individual_Contest_Name() && m_config.Contest_Name() != "") { + if(m_config.Individual_Contest_Name()) { m_cqStr = m_config.Contest_Name(); } else { if(SpecOp::NA_VHF == m_specOp) m_cqStr="TEST";