projects
/
spider.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fix MAJOR bug in the disconnect code introduced by the NP work
[spider.git]
/
perl
/
ExtMsg.pm
diff --git
a/perl/ExtMsg.pm
b/perl/ExtMsg.pm
index 7b33b6e2780d43e19d663d63f0fe4bdf59a0b14f..ae0e218b25c8575a73b71efeb0d4ed2cffbd3a56 100644
(file)
--- a/
perl/ExtMsg.pm
+++ b/
perl/ExtMsg.pm
@@
-21,6
+21,12
@@
use IO::File;
use IO::Socket;
use IPC::Open3;
use IO::Socket;
use IPC::Open3;
+use vars qw($VERSION $BRANCH);
+$VERSION = sprintf( "%d.%03d", q$Revision$ =~ /(\d+)\.(\d+)/ );
+$BRANCH = sprintf( "%d.%03d", q$Revision$ =~ /\d+\.\d+\.(\d+)\.(\d+)/ ) || 0;
+$main::build += $VERSION;
+$main::branch += $BRANCH;
+
use vars qw(@ISA $deftimeout);
@ISA = qw(Msg);
use vars qw(@ISA $deftimeout);
@ISA = qw(Msg);
@@
-77,7
+83,7
@@
sub dequeue
if ($conn->{msg} =~ /\cJ$/) {
delete $conn->{msg};
} else {
if ($conn->{msg} =~ /\cJ$/) {
delete $conn->{msg};
} else {
- $conn->{msg} =
pop @lines
;
+ $conn->{msg} =
~ s/([^\cM\cJ]*)\cM?\cJ//g
;
}
while (defined ($msg = shift @lines)) {
dbg("connect $conn->{cnum}: $msg") if $conn->{state} ne 'C' && isdbg('connect');
}
while (defined ($msg = shift @lines)) {
dbg("connect $conn->{cnum}: $msg") if $conn->{state} ne 'C' && isdbg('connect');
@@
-200,8
+206,8
@@
sub _docmd
last;
}
}
last;
}
}
- if ($cmd =~ /^\s*\'
.*\'\s+\'.*\'/i
) {
- $conn->_dochat($cmd, $msg);
+ if ($cmd =~ /^\s*\'
([^\']*)\'\s+\'([^\']*)\'/
) {
+ $conn->_dochat($cmd, $msg
, $1, $2
);
last;
}
if ($cmd =~ /^\s*cl\w+\s+(.*)/i) {
last;
}
if ($cmd =~ /^\s*cl\w+\s+(.*)/i) {
@@
-317,9
+323,10
@@
sub _dochat
my $conn = shift;
my $cmd = shift;
my $line = shift;
my $conn = shift;
my $cmd = shift;
my $line = shift;
+ my $expect = shift;
+ my $send = shift;
if ($line) {
if ($line) {
- my ($expect, $send) = $cmd =~ /^\s*\'(.*)\'\s+\'(.*)\'/;
if ($expect) {
dbg("connect $conn->{cnum}: expecting: \"$expect\" received: \"$line\"") if isdbg('connect');
if ($conn->{abort} && $line =~ /\Q$conn->{abort}/i) {
if ($expect) {
dbg("connect $conn->{cnum}: expecting: \"$expect\" received: \"$line\"") if isdbg('connect');
if ($conn->{abort} && $line =~ /\Q$conn->{abort}/i) {