Fix bugs for several more edge cases.

This commit is contained in:
Joe Taylor 2018-06-29 20:11:24 -04:00
parent 023b76400b
commit 251b2c6ce9
3 changed files with 6 additions and 2 deletions

View File

@ -76,7 +76,6 @@ subroutine pack28(c13,n28)
endif
endif
endif
! Check for <...> callsign
if(c13(1:1).eq.'<')then
n22=ihashcall(c13,22)

View File

@ -20,6 +20,8 @@ subroutine pack77_1(nwords,w,i3,n3,c77)
call chkcall(w(2),bcall_2,ok2)
if(w(1)(1:3).eq.'DE ' .or. w(1)(1:3).eq.'CQ_' .or. w(1)(1:3).eq.'CQ ' .or. &
w(1)(1:4).eq.'QRZ ') ok1=.true.
if(w(1)(1:1).eq.'<' .and. index(w(1),'>').ge.5) ok1=.true.
if(w(2)(1:1).eq.'<' .and. index(w(2),'>').ge.5) ok2=.true.
if(.not.ok1 .or. .not.ok2) return
if(nwords.eq.2 .and. (.not.ok2 .or. index(w(2),'/').ge.2)) return
if(nwords.eq.2) go to 10
@ -58,9 +60,10 @@ subroutine pack77_1(nwords,w,i3,n3,c77)
if(index(w(1),'/P').ge.4 .or. index(w(2),'/P').ge.4) i3=2 !Type 2, with "/P"
endif
c13=bcall_1//' '
if(c13(1:3).eq.'CQ_') c13=w(1)
if(c13(1:3).eq.'CQ_' .or. w(1)(1:1).eq.'<') c13=w(1)
call pack28(c13,n28a)
c13=bcall_2//' '
if(w(2)(1:1).eq.'<') c13=w(2)
call pack28(c13,n28b)
ipa=0
ipb=0

View File

@ -47,7 +47,9 @@ subroutine unpack28(n28_0,c13)
call hash22(n22,c13,-1) !Retrieve callsign from hash table
if(c13(1:1).ne.'<') then
n=len(trim(c13))
print*,'a ',n,c13
c13='<'//c13(1:n)//'>'//' '
print*,'b ',c13
endif
go to 900
endif