projects
/
spider.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
disable propagation of PC9x sentences
[spider.git]
/
perl
/
ExtMsg.pm
diff --git
a/perl/ExtMsg.pm
b/perl/ExtMsg.pm
index f1472789152fbfc3836142577d8831e86a4b591e..5d001ae4358ee9484a60dc70e8469a145c7cf7d8 100644
(file)
--- a/
perl/ExtMsg.pm
+++ b/
perl/ExtMsg.pm
@@
-23,7
+23,7
@@
use IPC::Open3;
use vars qw($VERSION $BRANCH);
$VERSION = sprintf( "%d.%03d", q$Revision$ =~ /(\d+)\.(\d+)/ );
use vars qw($VERSION $BRANCH);
$VERSION = sprintf( "%d.%03d", q$Revision$ =~ /(\d+)\.(\d+)/ );
-$BRANCH = sprintf( "%d.%03d", q$Revision$ =~ /
\d+\.\d+\.(\d+)\.(\d+)
/ || (0,0));
+$BRANCH = sprintf( "%d.%03d", q$Revision$ =~ /
^\d+\.\d+(?:\.(\d+)\.(\d+))?$
/ || (0,0));
$main::build += $VERSION;
$main::branch += $BRANCH;
$main::build += $VERSION;
$main::branch += $BRANCH;
@@
-32,6
+32,11
@@
use vars qw(@ISA $deftimeout);
@ISA = qw(Msg);
$deftimeout = 60;
@ISA = qw(Msg);
$deftimeout = 60;
+sub login
+{
+ goto &main::login; # save some writing, this was the default
+}
+
sub enqueue
{
my ($conn, $msg) = @_;
sub enqueue
{
my ($conn, $msg) = @_;
@@
-154,7
+159,7
@@
sub to_connected
delete $conn->{timeout};
$conn->nolinger;
&{$conn->{rproc}}($conn, "$dir$call|$sort");
delete $conn->{timeout};
$conn->nolinger;
&{$conn->{rproc}}($conn, "$dir$call|$sort");
- $conn->_send_file("$main::data/connected") unless $conn->{out
going
};
+ $conn->_send_file("$main::data/connected") unless $conn->{out
bound
};
}
sub new_client {
}
sub new_client {
@@
-207,12
+212,9
@@
sub start_connect
my $call = shift;
my $fn = shift;
my $conn = ExtMsg->new(\&main::new_channel);
my $call = shift;
my $fn = shift;
my $conn = ExtMsg->new(\&main::new_channel);
- $conn->{out
going
} = 1;
+ $conn->{out
bound
} = 1;
$conn->conns($call);
$conn->conns($call);
-
- my $f = new IO::File $fn;
- push @{$conn->{cmd}}, <$f>;
- $f->close;
+ push @{$conn->{cmd}}, @_;
$conn->{state} = 'WC';
$conn->_dotimeout($deftimeout);
$conn->_docmd;
$conn->{state} = 'WC';
$conn->_dotimeout($deftimeout);
$conn->_docmd;
@@
-259,11
+261,17
@@
sub _doconnect
dbg("CONNECT $conn->{cnum} sort: $sort command: $line") if isdbg('connect');
if ($sort eq 'telnet') {
# this is a straight network connect
dbg("CONNECT $conn->{cnum} sort: $sort command: $line") if isdbg('connect');
if ($sort eq 'telnet') {
# this is a straight network connect
- my ($host, $port) = split /\s+/, $line;
+ my ($host, $port, $type) = split /\s+/, $line;
+ if ($type && ref($conn) ne $type) {
+ bless $conn, $type;
+ $conn->set_newchannel_rproc;
+ dbg("$conn->{cnum} to $host $port reblessed as $type") if isdbg('connect');
+ }
$port = 23 if !$port;
$r = $conn->connect($host, $port);
if ($r) {
dbg("Connected $conn->{cnum} to $host $port") if isdbg('connect');
$port = 23 if !$port;
$r = $conn->connect($host, $port);
if ($r) {
dbg("Connected $conn->{cnum} to $host $port") if isdbg('connect');
+
} else {
dbg("***Connect $conn->{cnum} Failed to $host $port $!") if isdbg('connect');
}
} else {
dbg("***Connect $conn->{cnum} Failed to $host $port $!") if isdbg('connect');
}