X-Git-Url: http://gb7djk.dxcluster.net/gitweb/gitweb.cgi?a=blobdiff_plain;f=perl%2FMsg.pm;h=1099ba8804f881106e918c699798a3b233810868;hb=6daf175d1dba2651fb5af4a611e2e04ddc19c11a;hp=fd6e3b17dde3d015848675ec3f033e49381af631;hpb=838a7345a2540d9707dacf2ff61431b214e4cdac;p=spider.git diff --git a/perl/Msg.pm b/perl/Msg.pm index fd6e3b17..1099ba88 100644 --- a/perl/Msg.pm +++ b/perl/Msg.pm @@ -119,7 +119,7 @@ sub _send { my ($conn, $flush) = @_; my $sock = $conn->{sock}; return unless defined($sock); - my ($rq) = $conn->{outqueue}; + my $rq = $conn->{outqueue}; # If $flush is set, set the socket to blocking, and send all # messages in the queue - return only if there's an error @@ -245,9 +245,12 @@ sub _rcv { # Complement to _send if ($bytes_read > 0) { if ($msg =~ /\n/) { @lines = split /\r?\n/, $msg; - $lines[0] = '' unless @lines; - $lines[0] = $conn->{msg} . $lines[0] if exists $conn->{msg}; - push @lines, ' ' unless @lines; + if (@lines) { + $lines[0] = $conn->{msg} . $lines[0] if exists $conn->{msg}; + } else { + $lines[0] = $conn->{msg} if exists $conn->{msg}; + push @lines, '' unless @lines; + } if ($msg =~ /\n$/) { delete $conn->{msg}; } else {