X-Git-Url: http://gb7djk.dxcluster.net/gitweb/gitweb.cgi?a=blobdiff_plain;f=perl%2FIntMsg.pm;h=e3360fdbf566cf6990dda643c41a78953a3a65bd;hb=9ffa482b325ca5b660a50e4bb845420cad17e969;hp=8065f3024e5c693e04e7b50620a5d136e83c2a00;hpb=586cbb347e7639f5575b48572e75140501a109c0;p=spider.git diff --git a/perl/IntMsg.pm b/perl/IntMsg.pm index 8065f302..e3360fdb 100644 --- a/perl/IntMsg.pm +++ b/perl/IntMsg.pm @@ -27,7 +27,7 @@ sub dequeue { my $conn = shift; - if ($conn->{msg} =~ /\n/) { + if ($conn && $conn->{msg} =~ /\n/) { my @lines = split /\r?\n/, $conn->{msg}; if ($conn->{msg} =~ /\n$/) { delete $conn->{msg}; @@ -37,11 +37,11 @@ sub dequeue for (@lines) { if (defined $_) { s/\%([0-9A-F][0-9A-F])/chr(hex($1))/eg; - s/[\x00-\x08\x0a-\x1f\x80-\x9f]/./g; # immutable CSI sequence + control characters + s/[\x00-\x08\x0a-\x19\x1b-\x1f\x80-\x9f]/./g; # immutable CSI sequence + control characters } else { $_ = ''; } - &{$conn->{rproc}}($conn, $_); + &{$conn->{rproc}}($conn, $_) if exists $conn->{rproc}; } } }