From 8168706fe9f076af0e6dd299d8fde628a6a854ec Mon Sep 17 00:00:00 2001 From: Mark Slee Date: Wed, 16 May 2007 02:44:21 +0000 Subject: [PATCH] Fix Thrift perl framedtransport Reviewed By: jake luciani git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665117 13f79535-47bb-0310-9956-ffa450edef68 --- lib/perl/lib/Thrift/FramedTransport.pm | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/lib/perl/lib/Thrift/FramedTransport.pm b/lib/perl/lib/Thrift/FramedTransport.pm index 43e7b6f6..0cf2f3b1 100644 --- a/lib/perl/lib/Thrift/FramedTransport.pm +++ b/lib/perl/lib/Thrift/FramedTransport.pm @@ -73,17 +73,19 @@ sub close # sub read { + my $self = shift; my $len = shift; - unless($self->{read}) { + if (!$self->{read}) { return $self->{transport}->read($len); } - if (length($self->{rBuf}) > 0) { + if (length($self->{rBuf}) == 0) { $self->_readFrame(); } + # Just return full buff if ($len > length($self->{rBuf})) { my $out = $self->{rBuf}; @@ -105,7 +107,7 @@ sub _readFrame my $self = shift; my $buf = $self->{transport}->readAll(4); my @val = unpack('N', $buf); - my $sz = $val[1]; + my $sz = $val[0]; $self->{rBuf} = $self->{transport}->readAll($sz); } -- 2.17.1