X-Git-Url: http://scm.dxcluster.org/gitweb/gitweb.cgi?a=blobdiff_plain;ds=inline;f=cmd%2Fshow%2Fdb0sdx.pl;h=64c6f3bfdf585534d552a6ffbdb0717c6eabfa30;hb=8634689f5dcb3d2ab2b748aeb9d8401a0889a443;hp=5132b2f9fd3a8c1c0e97f522497a2b71180473d0;hpb=8bb293d5a1ca7a53f2ce50bd8e9e728865069b7f;p=spider.git
diff --git a/cmd/show/db0sdx.pl b/cmd/show/db0sdx.pl
index 5132b2f9..64c6f3bf 100644
--- a/cmd/show/db0sdx.pl
+++ b/cmd/show/db0sdx.pl
@@ -13,21 +13,23 @@ sub on_disc
my $conn = shift;
my $dxchan = shift;
my @out;
+
+# $DB::single = 1;
- $conn->{sdxin} .= $conn->{msg}; # because there will be stuff left in the rx buffer because it isn't \n terminated
dbg("db0sdx in: $conn->{sdxin}") if isdbg('db0sdx');
my ($info) = $conn->{sdxin} =~ m|([^<]*)|;
- dbg("info: $info");
+# dbg("db0sdx info: $info");
+ my $prefix = $conn->{prefix} || '';
my @in = split /[\r\n]/, $info if $info;
if (@in && $in[0]) {
- dbg("in qsl");
- push @out, @in;
+# dbg("db0sdx: in qsl");
+ push @out, map {"$prefix$_"} @in;
} else {
- dbg("in fault");
+# dbg("db0sdx: in fault");
($info) = $conn->{sdxin} =~ m|([^<]*)|;
- push @out, $info if $info;
+ push @out, "$prefix$info" if $info;
push @out, $dxchan->msg('e3', 'DB0SDX', $conn->{sdxline}) unless @out;
}
$dxchan->send(@out);
@@ -38,6 +40,8 @@ sub process
my $conn = shift;
my $msg = shift;
+# $DB::single = 1;
+
$conn->{sdxin} .= "$msg\n";
dbg("db0sdx in: $conn->{sdxin}") if isdbg('db0sdx');
@@ -68,10 +72,11 @@ sub handle
);
- my $lth = length($s)+1;
+# $s .= "\n";
+ my $lth = length($s);
Log('call', "$call: show/db0sdx $line");
- my $conn = AsyncMsg->post($self, $target, $port, "$path$suffix", prefix => 'sdx> ', filter => \&process,
+ my $conn = AsyncMsg->post($self, $target, "$path$suffix", prefix => 'sdx> ', filter => \&process,
'Content-Type' => 'text/xml; charset=utf-8',
'Content-Length' => $lth,
Connection => 'Close',
@@ -80,7 +85,7 @@ sub handle
on_disc => \&on_disc);
if ($conn) {
- $conn->{sdxcall} = $line;
+ $conn->{sdxline} = $line;
push @out, $self->msg('m21', "show/db0sdx");
} else {
push @out, $self->msg('e18', 'DB0SDX Database server');