fixed swopping on msgs in all places R_1_39
authordjk <djk>
Mon, 27 Mar 2000 16:55:31 +0000 (16:55 +0000)
committerdjk <djk>
Mon, 27 Mar 2000 16:55:31 +0000 (16:55 +0000)
Changes
cmd/send.pl
perl/DXMsg.pm

diff --git a/Changes b/Changes
index 10115c53013f321f8fe704fbab182832bb2beaea..716d4a452fb7b32dcf30d68372b9d07d99b897ee 100644 (file)
--- a/Changes
+++ b/Changes
@@ -1,9 +1,12 @@
 27Mar00=======================================================================
 1. updated wpxloc.raw and rsgb.cty for 4W and TX0.
-2. display 'start time' rather than 'user last time in' in who.
+2. display 'start time' rather than 'last start time in' in who.
 3. Allow local users to see their own sh/talk or sh/log stuff.
 4. A more robust version of the C client.
 5. Added a message exporting command 'export'.
+6. allow swopping on all messages, including imported and manually sent ones
+7. S A < B @ C $BID now works from the command line and thus bbses ought to
+be able to send messages into the cluster. Bids are (currently) ignored.
 26Mar00=======================================================================
 1. first cut of C client
 18Mar00=======================================================================
index ce8db2d0c2cedaf8d247842c5bd5fdaf4090ed39..f6f9e40f762550bb5b9b0ef911860e8827abebce 100644 (file)
@@ -92,8 +92,16 @@ if ($self->state eq "prompt") {
                        ;
                } elsif ($notincalls && ($f eq 'RR')) {
                        $loc->{rrreq} = '1';
-               } elsif ($f eq '@') {     # this is bbs syntax, for now lose the rest
-                       last;
+               } elsif ($f eq '<' && @f) {     # this is bbs syntax  for from call
+                       $loc->{from} = uc shift @f;
+               } elsif ($f eq '@' && @f) {       # this is bbs syntax, for origin
+                       $loc->{origin} = uc shift @f;
+               } elsif ($f =~ /^\$/) {     # this is bbs syntax  for a bid
+                       next;
+               } elsif ($f =~ /^<\S+/) {     # this is bbs syntax  for from call
+                       ($loc->{from}) = $f =~ /^<(\S+)$/;
+               } elsif ($f =~ /^\@\S+/) {     # this is bbs syntax  for origin
+                       ($loc->{origin}) = $f =~ /^\@(\S+)$/;
                } else {
 
                        # callsign ?
index 7cef3adb4f8f5bb7a8415e8a3cf196d8c20e53a4..168a978280e56337e8b17db7de48e894b92347c1 100644 (file)
@@ -846,13 +846,14 @@ sub do_send_stuff
                                my $mycall = $main::mycall;
                                $ref = DXMsg->alloc(DXMsg::next_transno('Msgno'),
                                                                        uc $to,
-                                                                       $self->call, 
+                                                                       exists $loc->{from} ? $loc->{from} : $self->call, 
                                                                        $systime,
                                                                        $loc->{private}, 
                                                                        $loc->{subject}, 
-                                                                       $mycall,
+                                                                       exists $loc->{origin} ? $loc->{origin} : $mycall,
                                                                        '0',
                                                                        $loc->{rrreq});
+                               $ref->swop_it($self->call);
                                $ref->store($loc->{lines});
                                $ref->add_dir();
                                push @out, $self->msg('m11', $ref->{msgno}, $to);
@@ -1109,12 +1110,14 @@ sub import_one
                        $rr = '1';
                } elsif ($f eq '@' && @f) {       # this is bbs syntax, for origin
                        $origin = uc 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 =~ /^</) {     # this is bbs syntax  for from call
+               } elsif ($f =~ /^<\S+/) {     # this is bbs syntax  for from call
                        ($from) = $f =~ /^<(\S+)$/;
-               } elsif ($f eq '<' && @f) {     # this is bbs syntax  for from call
-                       $from = uc shift @f;
+               } elsif ($f =~ /^\@\S+/) {     # this is bbs syntax for origin
+                       ($origin) = $f =~ /^\@(\S+)$/;
                } else {
 
                        # callsign ?
@@ -1170,6 +1173,7 @@ sub import_one
                                                        $origin,
                                                        '0',
                                                        $rr);
+               $mref->swop_it($main::mycall);
                $mref->store($ref);
                $mref->add_dir();
                push @out, $dxchan->msg('m11', $mref->{msgno}, $to);