put duplicate checking into respective modules and out of DXProt.
[spider.git] / cmd / announce.pl
index 4f521dd30a9c3eea734ad4db25b2e351c30f667e..94b03a473009da82db0e89a8345df4a55f316c84 100644 (file)
@@ -12,6 +12,8 @@
 #
 # $Id$
 #
+# Modified 13Dec98 Iain Phillips G0RDI
+#
 
 my ($self, $line) = @_;
 my @f = split /\s+/, $line;
@@ -34,12 +36,19 @@ if ($sort eq "FULL") {
   @locals = map { $_->priv >= 5 ? $_ : () } @locals;
   $to = "SYSOP";
   $sysopflag = '*';
+} elsif ($sort eq "LOCAL") {
+  $line =~ s/^$f[0]\s+//;     # remove it
+  $to = "LOCAL";
 } else {
   $to = "LOCAL";
 }
 
+# change ^ into : for transmission
+$line =~ s/\^/:/og;
+
+return (1, $self->msg('dup')) if AnnTalk::dup($from, $to, $line);
 Log('ann', $to, $from, $line);
-DXProt::broadcast_list("To $to de $from <$t>: $line", @locals);
+DXProt::broadcast_list("To $to de $from <$t>: $line", 'ann', undef, @locals);
 if ($to ne "LOCAL") {
   $line =~ s/\^//og;    # remove ^ characters!
   my $pc = DXProt::pc12($from, $line, $tonode, $sysopflag, 0);