mirror of
https://github.com/saitohirga/WSJT-X.git
synced 2025-08-03 14:42:25 -04:00
Merge branch 'hotfix-wsjtx-2.0.0-rc2' of bitbucket.org:k1jt/wsjtx into hotfix-wsjtx-2.0.0-rc2
This commit is contained in:
commit
bcea5df35d
@ -1,7 +1,7 @@
|
|||||||
module packjt77
|
module packjt77
|
||||||
|
|
||||||
! These variables are accessible from outside via "use packjt":
|
! These variables are accessible from outside via "use packjt":
|
||||||
parameter (MAXHASH=100)
|
parameter (MAXHASH=1000)
|
||||||
character*13 callsign(MAXHASH)
|
character*13 callsign(MAXHASH)
|
||||||
integer ihash10(MAXHASH),ihash12(MAXHASH),ihash22(MAXHASH)
|
integer ihash10(MAXHASH),ihash12(MAXHASH),ihash22(MAXHASH)
|
||||||
integer n28a,n28b,nzhash
|
integer n28a,n28b,nzhash
|
||||||
@ -92,6 +92,7 @@ subroutine save_hash_call(c13,n10,n12,n22)
|
|||||||
|
|
||||||
character*13 c13
|
character*13 c13
|
||||||
logical first
|
logical first
|
||||||
|
data first/.true./
|
||||||
save first
|
save first
|
||||||
|
|
||||||
if(first) then
|
if(first) then
|
||||||
@ -102,6 +103,7 @@ subroutine save_hash_call(c13,n10,n12,n22)
|
|||||||
nzhash=0
|
nzhash=0
|
||||||
first=.false.
|
first=.false.
|
||||||
endif
|
endif
|
||||||
|
|
||||||
if(c13(1:1).eq.' ' .or. c13(1:5).eq.'<...>') return
|
if(c13(1:1).eq.' ' .or. c13(1:5).eq.'<...>') return
|
||||||
|
|
||||||
n10=ihashcall(c13,10)
|
n10=ihashcall(c13,10)
|
||||||
@ -467,7 +469,6 @@ subroutine pack28(c13,n28)
|
|||||||
! integer.
|
! integer.
|
||||||
|
|
||||||
parameter (NTOKENS=2063592,MAX22=4194304)
|
parameter (NTOKENS=2063592,MAX22=4194304)
|
||||||
integer nc(6)
|
|
||||||
logical is_digit,is_letter
|
logical is_digit,is_letter
|
||||||
character*13 c13
|
character*13 c13
|
||||||
character*6 callsign
|
character*6 callsign
|
||||||
@ -481,7 +482,6 @@ subroutine pack28(c13,n28)
|
|||||||
data a2/'0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ'/
|
data a2/'0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ'/
|
||||||
data a3/'0123456789'/
|
data a3/'0123456789'/
|
||||||
data a4/' ABCDEFGHIJKLMNOPQRSTUVWXYZ'/
|
data a4/' ABCDEFGHIJKLMNOPQRSTUVWXYZ'/
|
||||||
data nc/37,36,19,27,27,27/
|
|
||||||
|
|
||||||
is_digit(c)=c.ge.'0' .and. c.le.'9'
|
is_digit(c)=c.ge.'0' .and. c.le.'9'
|
||||||
is_letter(c)=c.ge.'A' .and. c.le.'Z'
|
is_letter(c)=c.ge.'A' .and. c.le.'Z'
|
||||||
@ -587,7 +587,7 @@ subroutine pack28(c13,n28)
|
|||||||
27*i5 + i6
|
27*i5 + i6
|
||||||
n28=n28 + NTOKENS + MAX22
|
n28=n28 + NTOKENS + MAX22
|
||||||
|
|
||||||
900 n28=iand(n28,2**28-1)
|
900 n28=iand(n28,ishft(1,28)-1)
|
||||||
return
|
return
|
||||||
end subroutine pack28
|
end subroutine pack28
|
||||||
|
|
||||||
@ -595,7 +595,6 @@ end subroutine pack28
|
|||||||
subroutine unpack28(n28_0,c13,success)
|
subroutine unpack28(n28_0,c13,success)
|
||||||
|
|
||||||
parameter (NTOKENS=2063592,MAX22=4194304)
|
parameter (NTOKENS=2063592,MAX22=4194304)
|
||||||
integer nc(6)
|
|
||||||
logical success
|
logical success
|
||||||
character*13 c13
|
character*13 c13
|
||||||
character*37 c1
|
character*37 c1
|
||||||
@ -606,7 +605,6 @@ subroutine unpack28(n28_0,c13,success)
|
|||||||
data c2/'0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ'/
|
data c2/'0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ'/
|
||||||
data c3/'0123456789'/
|
data c3/'0123456789'/
|
||||||
data c4/' ABCDEFGHIJKLMNOPQRSTUVWXYZ'/
|
data c4/' ABCDEFGHIJKLMNOPQRSTUVWXYZ'/
|
||||||
data nc/37,36,19,27,27,27/
|
|
||||||
|
|
||||||
success=.true.
|
success=.true.
|
||||||
n28=n28_0
|
n28=n28_0
|
||||||
@ -834,7 +832,7 @@ subroutine pack77_03(nwords,w,i3,n3,c77)
|
|||||||
if(.not.ok1 .or. .not.ok2) return
|
if(.not.ok1 .or. .not.ok2) return
|
||||||
isec=-1
|
isec=-1
|
||||||
do i=1,NSEC
|
do i=1,NSEC
|
||||||
if(csec(i).eq.w(nwords)) then
|
if(csec(i).eq.w(nwords)(1:3)) then
|
||||||
isec=i
|
isec=i
|
||||||
exit
|
exit
|
||||||
endif
|
endif
|
||||||
|
@ -2,15 +2,6 @@ function stdmsg(msg0)
|
|||||||
|
|
||||||
! Returns .true. if msg0 a standard "JT-style" message
|
! Returns .true. if msg0 a standard "JT-style" message
|
||||||
|
|
||||||
! itype
|
|
||||||
! 1 Standard 72-bit structured message
|
|
||||||
! 2 Type 1 prefix
|
|
||||||
! 3 Type 1 suffix
|
|
||||||
! 4 Type 2 prefix
|
|
||||||
! 5 Type 2 suffix
|
|
||||||
! 6 Free text
|
|
||||||
! 7 Hashed calls (MSK144 short format)
|
|
||||||
|
|
||||||
! i3.n3
|
! i3.n3
|
||||||
! 0.0 Free text
|
! 0.0 Free text
|
||||||
! 0.1 DXpeditiion mode
|
! 0.1 DXpeditiion mode
|
||||||
@ -27,23 +18,26 @@ function stdmsg(msg0)
|
|||||||
|
|
||||||
use iso_c_binding, only: c_bool
|
use iso_c_binding, only: c_bool
|
||||||
use packjt
|
use packjt
|
||||||
character*37 msg0,msg1,msg
|
use packjt77
|
||||||
integer dat(12)
|
|
||||||
|
character*37 msg0,msg1
|
||||||
|
character*77 c77
|
||||||
logical(c_bool) :: stdmsg
|
logical(c_bool) :: stdmsg
|
||||||
|
|
||||||
msg1=msg0
|
msg1=msg0
|
||||||
i0=index(msg1,' OOO ')
|
i3=-1
|
||||||
if(i0.gt.10) msg1=msg0(1:i0)
|
n3=-1
|
||||||
call packmsg(msg0,dat,itype)
|
call pack77(msg1,i3,n3,c77)
|
||||||
call unpackmsg(dat,msg)
|
stdmsg=(i3.gt.0 .or. n3.gt.0)
|
||||||
msg(23:37)=' '
|
|
||||||
stdmsg=(msg(1:22).eq.msg1(1:22)) .and. (itype.ge.0) .and. (itype.ne.6)
|
!###
|
||||||
if(.not.stdmsg) then
|
! rewind 82
|
||||||
i0=index(msg1,' ')
|
! do i=1,nzhash
|
||||||
msg1(i0:)=' '
|
! write(82,3082) i,nzhash,callsign(i)
|
||||||
call parse77(msg1,i3,n3)
|
!3082 format(2i5,2x,a13)
|
||||||
if(i3.gt.0 .or. n3.gt.0) stdmsg=.true.
|
! enddo
|
||||||
endif
|
! flush(82)
|
||||||
|
!###
|
||||||
|
|
||||||
return
|
return
|
||||||
end function stdmsg
|
end function stdmsg
|
||||||
|
Loading…
x
Reference in New Issue
Block a user