From 55a60874033445e367c2e8cc1153df4bc418c88f Mon Sep 17 00:00:00 2001 From: Bill Somerville Date: Mon, 29 Aug 2016 17:01:53 +0000 Subject: [PATCH] Fix a crash when a 4 character grid is used in WSPR with a compound callsign git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7041 ab8295b8-cf94-4d9e-aec4-7959e3be5d79 --- lib/wqencode.f90 | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/lib/wqencode.f90 b/lib/wqencode.f90 index b5f453c6a..3ca87f310 100644 --- a/lib/wqencode.f90 +++ b/lib/wqencode.f90 @@ -6,7 +6,7 @@ subroutine wqencode(msg,ntype,data0) parameter (MASK15=32767) character*22 msg character*12 call1,call2 - character grid4*4,grid6*6 + character grid4*4 logical lbad1,lbad2 integer*1 data0(11) integer nu(0:9) @@ -46,11 +46,12 @@ subroutine wqencode(msg,ntype,data0) i4=index(msg,'>') call1=msg(2:i4-1) call hash(call1,i4-2,ih) - grid6=msg(i1+1:i1+6) - call2=grid6(2:6)//grid6(1:1)//' ' + i5=index(trim(msg(i1+1:)),' ') +! Convert grid to valid callsign format - first character moved to end + call2=msg(i1+2:i1+i5-1)//msg(i1+1:i1+1)//' ' call packcall(call2,n1,lbad1) ndbm=0 - read(msg(i1+8:),*) ndbm + read(msg(i1+i5+1:),*) ndbm if(ndbm.lt.0) ndbm=0 if(ndbm.gt.60) ndbm=60 ndbm=ndbm+nu(mod(ndbm,10))