projects
/
spider.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
get alternate pinging working properly at half pingint
[spider.git]
/
perl
/
DXChannel.pm
diff --git
a/perl/DXChannel.pm
b/perl/DXChannel.pm
index 90e19ef9e2bb433c3d80b397286ed757a7db8c97..b0208f103e0e6093df5b654c133420e110780419 100644
(file)
--- a/
perl/DXChannel.pm
+++ b/
perl/DXChannel.pm
@@
-117,12
+117,15
@@
$count = 0;
ve7cc => '0,VE7CC program special,yesno',
lastmsgpoll => '0,Last Msg Poll,atime',
inscript => '9,In a script,yesno',
ve7cc => '0,VE7CC program special,yesno',
lastmsgpoll => '0,Last Msg Poll,atime',
inscript => '9,In a script,yesno',
+ handle_xml => '9,Handles XML,yesno',
inqueue => '9,Input Queue,parray',
);
use vars qw($VERSION $BRANCH);
inqueue => '9,Input Queue,parray',
);
use vars qw($VERSION $BRANCH);
-
-main::mkver($VERSION = q$Revision$);
+$VERSION = sprintf( "%d.%03d", q$Revision$ =~ /(\d+)\.(\d+)/ );
+$BRANCH = sprintf( "%d.%03d", q$Revision$ =~ /\d+\.\d+\.(\d+)\.(\d+)/ || (0,0));
+$main::build += $VERSION;
+$main::branch += $BRANCH;
# object destruction
sub DESTROY
# object destruction
sub DESTROY
@@
-175,6
+178,14
@@
sub alloc
return $channels{$call} = $self;
}
return $channels{$call} = $self;
}
+# rebless this channel as something else
+sub rebless
+{
+ my $self = shift;
+ my $class = shift;
+ return $channels{$self->{call}} = bless $self, $class;
+}
+
sub rec
{
my ($self, $msg) = @_;
sub rec
{
my ($self, $msg) = @_;
@@
-185,10
+196,10
@@
sub rec
}
}
}
}
-# obtain a channel object by callsign [$obj = DXChannel
->
get($call)]
+# obtain a channel object by callsign [$obj = DXChannel
::
get($call)]
sub get
{
sub get
{
- my
($pkg, $call) = @_
;
+ my
$call = shift
;
return $channels{$call};
}
return $channels{$call};
}
@@
-264,7
+275,7
@@
sub is_bbs
sub is_node
{
my $self = shift;
sub is_node
{
my $self = shift;
- return $self->{'sort'} =~ /[ACRSX]/;
+ return $self->{'sort'} =~ /[ACRSX
W
]/;
}
# is it an ak1a node ?
sub is_ak1a
}
# is it an ak1a node ?
sub is_ak1a
@@
-385,15
+396,16
@@
sub send # this is always later and always data
return unless $conn;
my $call = $self->{call};
return unless $conn;
my $call = $self->{call};
- for (@_) {
-# chomp;
- my @lines = split /\n/;
- for (@lines) {
- $conn->send_later("D$call|$_");
- dbg("-> D $call $_") if isdbg('chan');
+ foreach my $l (@_) {
+ for (ref $l ? @$l : $l) {
+ my @lines = split /\n/;
+ for (@lines) {
+ $conn->send_later("D$call|$_");
+ dbg("-> D $call $_") if isdbg('chan');
+ }
}
}
}
}
- $self->{t} = time;
+ $self->{t} =
$main::sys
time;
}
# send a file (always later)
}
# send a file (always later)