THRIFT-1564 Minor fixes to TZlibTransport
Patch: Dave Watson

git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1325712 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/lib/cpp/src/thrift/transport/TZlibTransport.cpp b/lib/cpp/src/thrift/transport/TZlibTransport.cpp
index fc407cb..98b25b8 100644
--- a/lib/cpp/src/thrift/transport/TZlibTransport.cpp
+++ b/lib/cpp/src/thrift/transport/TZlibTransport.cpp
@@ -110,9 +110,15 @@
 }
 
 bool TZlibTransport::isOpen() {
-  return (readAvail() > 0) || transport_->isOpen();
+  return (readAvail() > 0) || (rstream_->avail_in > 0) || transport_->isOpen();
 }
 
+bool TZlibTransport::peek() {
+  return (readAvail() > 0) || (rstream_->avail_in > 0) || transport_->peek();
+}
+
+
+
 // READING STRATEGY
 //
 // We have two buffers for reading: one containing the compressed data (crbuf_)
@@ -253,7 +259,7 @@
                               "flush() called after finish()");
   }
 
-  flushToTransport(Z_SYNC_FLUSH);
+  flushToTransport(Z_FULL_FLUSH);
 }
 
 void TZlibTransport::finish()  {
diff --git a/lib/cpp/src/thrift/transport/TZlibTransport.h b/lib/cpp/src/thrift/transport/TZlibTransport.h
index b365641..607969c 100644
--- a/lib/cpp/src/thrift/transport/TZlibTransport.h
+++ b/lib/cpp/src/thrift/transport/TZlibTransport.h
@@ -144,6 +144,7 @@
   ~TZlibTransport();
 
   bool isOpen();
+  bool peek();
 
   void open() {
     transport_->open();