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;
@ISA = qw(Msg);
+sub login
+{
+ goto &main::login; # save some writing, this was the default
+}
+
sub enqueue
{
my ($conn, $msg) = @_;
{
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 {
- $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;
- s/[\x00-\x08\x0a-\x19\x1b-\x1f\x80-\x9f]/./g; # immutable CSI sequence + control characters
} else {
$_ = '';
}