{
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};
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};
}
}
}