diff options
Diffstat (limited to 'io/source/acceptor/acc_socket.cxx')
-rw-r--r-- | io/source/acceptor/acc_socket.cxx | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/io/source/acceptor/acc_socket.cxx b/io/source/acceptor/acc_socket.cxx index b1a30a15a82f..3fe29f3c0596 100644 --- a/io/source/acceptor/acc_socket.cxx +++ b/io/source/acceptor/acc_socket.cxx @@ -198,13 +198,12 @@ namespace io_acceptor { { notifyListeners(this, &_started, callStarted); - if( aReadBytes.getLength() != nBytesToRead ) + if( aReadBytes.getLength() < nBytesToRead ) { aReadBytes.realloc( nBytesToRead ); } - sal_Int32 i = 0; - i = m_socket.read( aReadBytes.getArray() , aReadBytes.getLength() ); + sal_Int32 i = m_socket.read( aReadBytes.getArray() , aReadBytes.getLength() ); if(i != nBytesToRead) { @@ -220,7 +219,10 @@ namespace io_acceptor { throw ioException; } - + if( i < aReadBytes.getLength() ) + { + aReadBytes.realloc( i ); + } return i; } else |