[Libreoffice-commits] core.git: io/source

Stephan Bergmann sbergman at redhat.com
Thu Apr 7 10:25:54 UTC 2016


 io/source/acceptor/acc_socket.cxx  |   10 ++++------
 io/source/connector/ctr_pipe.cxx   |    9 ++-------
 io/source/connector/ctr_socket.cxx |    7 ++-----
 3 files changed, 8 insertions(+), 18 deletions(-)

New commits:
commit dee0a619bff88776d2b6c5b824fc8e8950418f70
Author: Stephan Bergmann <sbergman at redhat.com>
Date:   Thu Apr 7 12:24:28 2016 +0200

    Revert "reduce unnecessary realloc'ing"
    
    This reverts commit 9f6e6fabcd5718e0b65437c5ce398e520f47aae1, which is wrong, as
    it would cause the functions to now try to read aReadBytes.getLength() bytes if
    that is initially larger than nBytesToRead.

diff --git a/io/source/acceptor/acc_socket.cxx b/io/source/acceptor/acc_socket.cxx
index 3fe29f3..b1a30a1 100644
--- a/io/source/acceptor/acc_socket.cxx
+++ b/io/source/acceptor/acc_socket.cxx
@@ -198,12 +198,13 @@ namespace io_acceptor {
         {
             notifyListeners(this, &_started, callStarted);
 
-            if( aReadBytes.getLength() < nBytesToRead )
+            if( aReadBytes.getLength() != nBytesToRead )
             {
                 aReadBytes.realloc( nBytesToRead );
             }
 
-            sal_Int32 i = m_socket.read( aReadBytes.getArray()  , aReadBytes.getLength() );
+            sal_Int32 i = 0;
+            i = m_socket.read( aReadBytes.getArray()  , aReadBytes.getLength() );
 
             if(i != nBytesToRead)
             {
@@ -219,10 +220,7 @@ namespace io_acceptor {
 
                 throw ioException;
             }
-            if( i < aReadBytes.getLength() )
-            {
-                aReadBytes.realloc( i );
-            }
+
             return i;
         }
         else
diff --git a/io/source/connector/ctr_pipe.cxx b/io/source/connector/ctr_pipe.cxx
index dafdc42..df15291 100644
--- a/io/source/connector/ctr_pipe.cxx
+++ b/io/source/connector/ctr_pipe.cxx
@@ -49,16 +49,11 @@ namespace stoc_connector {
     {
         if( ! m_nStatus )
         {
-            if( aReadBytes.getLength() < nBytesToRead )
+            if( aReadBytes.getLength() != nBytesToRead )
             {
                 aReadBytes.realloc( nBytesToRead );
             }
-            sal_Int32 n = m_pipe.read( aReadBytes.getArray()  , aReadBytes.getLength() );
-            if( n < aReadBytes.getLength() )
-            {
-                aReadBytes.realloc( n );
-            }
-            return n;
+            return m_pipe.read( aReadBytes.getArray()  , aReadBytes.getLength() );
         }
         else {
             throw IOException();
diff --git a/io/source/connector/ctr_socket.cxx b/io/source/connector/ctr_socket.cxx
index 787a470..2c0d3f6 100644
--- a/io/source/connector/ctr_socket.cxx
+++ b/io/source/connector/ctr_socket.cxx
@@ -123,7 +123,7 @@ namespace stoc_connector {
         {
             notifyListeners(this, &_started, callStarted);
 
-            if( aReadBytes.getLength() < nBytesToRead )
+            if( aReadBytes.getLength() != nBytesToRead )
             {
                 aReadBytes.realloc( nBytesToRead );
             }
@@ -143,10 +143,7 @@ namespace stoc_connector {
 
                 throw ioException;
             }
-            if( i < aReadBytes.getLength() )
-            {
-                aReadBytes.realloc( i );
-            }
+
             return i;
         }
         else


More information about the Libreoffice-commits mailing list