projects
/
spider.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fix typo
[spider.git]
/
perl
/
IntMsg.pm
diff --git
a/perl/IntMsg.pm
b/perl/IntMsg.pm
index 510a1f9a661ab03162ba9370c68ab5e3f4a56730..0318c2b3bddb3a26b3f0525573f102c246132d58 100644
(file)
--- a/
perl/IntMsg.pm
+++ b/
perl/IntMsg.pm
@@
-13,7
+13,7
@@
use strict;
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
;
+$BRANCH = sprintf( "%d.%03d", q$Revision$ =~ /\d+\.\d+\.(\d+)\.(\d+)/
|| (0,0))
;
$main::build += $VERSION;
$main::branch += $BRANCH;
$main::build += $VERSION;
$main::branch += $BRANCH;
@@
-23,6
+23,11
@@
use vars qw(@ISA);
@ISA = qw(Msg);
@ISA = qw(Msg);
+sub login
+{
+ goto &main::login; # save some writing, this was the default
+}
+
sub enqueue
{
my ($conn, $msg) = @_;
sub enqueue
{
my ($conn, $msg) = @_;
@@
-34,17
+39,16
@@
sub dequeue
{
my $conn = shift;
{
my $conn = shift;
- if ($conn && $conn->{msg} =~ /\
n
/) {
- my @lines =
split /\r?\n/, $conn->{msg}
;
- if ($conn->{msg} =~ /\
n
$/) {
+ if ($conn && $conn->{msg} =~ /\
cJ
/) {
+ my @lines =
$conn->{msg} =~ /([^\cM\cJ]*)\cM?\cJ/g
;
+ if ($conn->{msg} =~ /\
cJ
$/) {
delete $conn->{msg};
} else {
delete $conn->{msg};
} else {
- $conn->{msg} =
pop @lines
;
+ $conn->{msg} =
~ s/([^\cM\cJ]*)\cM?\cJ//g
;
}
for (@lines) {
if (defined $_) {
s/\%([0-9A-F][0-9A-F])/chr(hex($1))/eg;
}
for (@lines) {
if (defined $_) {
s/\%([0-9A-F][0-9A-F])/chr(hex($1))/eg;
- s/[\x00-\x08\x0a-\x19\x1b-\x1f\x80-\x9f]/./g; # immutable CSI sequence + control characters
} else {
$_ = '';
}
} else {
$_ = '';
}