add pc42 for streams
[spider.git] / perl / DXMsg.pm
index e66c1336e729637a92de745bf344bcd93fb09741..7b86c8f70a404e848061b2ccf84794008efbbd84 100644 (file)
@@ -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 origin
-                       $origin = uc shift @f;
+               } 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 ?