corrected code to not suppose that Write() always writes all the data it was given

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@28351 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin 2004-07-21 10:41:17 +00:00
parent 3338a5bde5
commit 42d0aa30b8

View File

@ -1114,9 +1114,11 @@ void MyPipeFrame::OnBtnSendFile(wxCommandEvent& WXUNUSED(event))
while ( len ) while ( len )
{ {
const size_t CHUNK_SIZE = 4096; const size_t CHUNK_SIZE = 4096;
size_t lenChunk = len > CHUNK_SIZE ? CHUNK_SIZE : len; m_out.Write(pc, len > CHUNK_SIZE ? CHUNK_SIZE : len);
m_out.Write(pc, lenChunk); // note that not all data could have been written as we don't block on
// the write end of the pipe
const size_t lenChunk = m_out.LastWrite();
pc += lenChunk; pc += lenChunk;
len -= lenChunk; len -= lenChunk;