package Msg;
-require Exporter;
-@ISA = qw(Exporter);
-
use strict;
use IO::Select;
use IO::Socket;
-use Carp;
+#use DXDebug;
-use vars qw (%rd_callbacks %wt_callbacks $rd_handles $wt_handles);
+use vars qw(%rd_callbacks %wt_callbacks $rd_handles $wt_handles);
%rd_callbacks = ();
%wt_callbacks = ();
while (@lines){
$msg = shift @lines;
- $msg =~ s/%([0-9A-Fa-f]{2})/chr(hex($1))/eg;
+ $msg =~ s/\%([2-9A-F][0-9A-F])/chr(hex($1))/eg;
+ $msg =~ s/[\x00-\x08\x0a-\x1f\x80-\x9f]/./g; # immutable CSI sequence + control characters
&{$conn->{rcvd_notification_proc}}($conn, $msg, $!);
$! = 0;
}