Merge branch 'newpc92timings' of /scm/spider into newpc92timings
[spider.git] / perl / IntMsg.pm
index e3360fdbf566cf6990dda643c41a78953a3a65bd..e5f05ff12f1e5dd48f2bbca56a40683675549912 100644 (file)
@@ -2,7 +2,7 @@
 # This class is the internal subclass that deals with the internal port 27754
 # communications for Msg.pm
 #
-# $Id$
+#
 #
 # Copyright (c) 2001 - Dirk Koopman G1TLH
 #
 package IntMsg;
 
 use strict;
+
 use Msg;
 
 use vars qw(@ISA);
 
 @ISA = qw(Msg);
 
+sub login
+{
+       goto &main::login;        # save some writing, this was the default
+}
+
 sub enqueue
 {
        my ($conn, $msg) = @_;
@@ -27,17 +33,16 @@ sub dequeue
 {
        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 {
                                $_ = '';
                        }