X-Git-Url: http://dxcluster.org/gitweb/gitweb.cgi?a=blobdiff_plain;f=perl%2FDXMsg.pm;h=7b86c8f70a404e848061b2ccf84794008efbbd84;hb=58aa400fd03248f21ff8c6a9619faa5f90e9a188;hp=46280dfa32dddeeefddf1264de642b2c4a1860a9;hpb=f04ec95fe999a857f0f0c9e08e0f0bfd808ada32;p=spider.git diff --git a/perl/DXMsg.pm b/perl/DXMsg.pm index 46280dfa..7b86c8f7 100644 --- a/perl/DXMsg.pm +++ b/perl/DXMsg.pm @@ -143,7 +143,7 @@ sub process my @f = split /\^/, $line; my ($pcno) = $f[0] =~ /^PC(\d\d)/; # just get the number my ($tonode, $fromnode) = @f[1, 2]; - my $stream = $f[3] if $pcno > 29 && $pcno <= 33; + my $stream = $f[3] if ($pcno > 29 && $pcno <= 33) || $pcno == 42; SWITCH: { if ($pcno == 28) { # incoming message @@ -1207,7 +1207,9 @@ sub import_one # first line; my $line = shift @$ref; - my @f = split /\s+/, $line; + my @f = split /\b/, $line; + @f = map {s/\s+//g; length $_ ? $_ : ()} @f; + unless (@f && $f[0] =~ /^(:?S|SP|SB|SEND)$/ ) { my $m = "invalid first line in import '$line'"; dbg($m) if isdbg('msg'); @@ -1224,16 +1226,16 @@ sub import_one ; } elsif ($notincalls && ($f eq 'RR')) { $rr = '1'; - } elsif ($f eq '@' && @f) { # this is bbs syntax, for AT + } elsif (($f =~ /^[\@\.\#\$]$/ || $f eq '.#') && @f) { # this is bbs syntax, for AT shift @f; } elsif ($f eq '<' && @f) { # this is bbs syntax for from call $from = uc shift @f; } elsif ($f =~ /^\$/) { # this is bbs syntax for a bid next; - } elsif ($f =~ /^<\S+/) { # this is bbs syntax for from call - ($from) = $f =~ /^<(\S+)$/; - } elsif ($f =~ /^\@\S+/) { # this is bbs syntax for origin - ($origin) = $f =~ /^\@(\S+)$/; + } elsif ($f =~ /^<(\S+)/) { # this is bbs syntax for from call + $from = $1; + } elsif ($f =~ /^\$\S+/) { # this is bbs syntax for bid + ; } else { # callsign ?