Fix Thrift perl framedtransport
authorMark Slee <mcslee@apache.org>
Wed, 16 May 2007 02:44:21 +0000 (02:44 +0000)
committerMark Slee <mcslee@apache.org>
Wed, 16 May 2007 02:44:21 +0000 (02:44 +0000)
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

index 43e7b6f..0cf2f3b 100644 (file)
@@ -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);
 }