From ae9446088b9b946428cc21b10118067506d9070a Mon Sep 17 00:00:00 2001 From: Hafiz Abid Qadeer Date: Thu, 23 Oct 2014 10:36:53 +0000 Subject: [PATCH] Fix code where goto jumped over local variable initialization. llvm-svn: 220473 --- lldb/source/Host/windows/ConnectionGenericFileWindows.cpp | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/lldb/source/Host/windows/ConnectionGenericFileWindows.cpp b/lldb/source/Host/windows/ConnectionGenericFileWindows.cpp index 53e22de..6b4c470 100644 --- a/lldb/source/Host/windows/ConnectionGenericFileWindows.cpp +++ b/lldb/source/Host/windows/ConnectionGenericFileWindows.cpp @@ -182,6 +182,8 @@ size_t ConnectionGenericFile::Read(void *dst, size_t dst_len, uint32_t timeout_usec, lldb::ConnectionStatus &status, Error *error_ptr) { ReturnInfo return_info; + BOOL result = 0; + DWORD bytes_read = 0; if (error_ptr) error_ptr->Clear(); @@ -194,7 +196,7 @@ ConnectionGenericFile::Read(void *dst, size_t dst_len, uint32_t timeout_usec, ll m_overlapped.hEvent = m_event_handles[kBytesAvailableEvent]; - BOOL result = ::ReadFile(m_file, dst, dst_len, NULL, &m_overlapped); + result = ::ReadFile(m_file, dst, dst_len, NULL, &m_overlapped); if (result || ::GetLastError() == ERROR_IO_PENDING) { if (!result) @@ -222,7 +224,6 @@ ConnectionGenericFile::Read(void *dst, size_t dst_len, uint32_t timeout_usec, ll } } // The data is ready. Figure out how much was read and return; - DWORD bytes_read = 0; if (!::GetOverlappedResult(m_file, &m_overlapped, &bytes_read, FALSE)) { DWORD result_error = ::GetLastError(); @@ -279,6 +280,8 @@ size_t ConnectionGenericFile::Write(const void *src, size_t src_len, lldb::ConnectionStatus &status, Error *error_ptr) { ReturnInfo return_info; + DWORD bytes_written = 0; + BOOL result = 0; if (error_ptr) error_ptr->Clear(); @@ -292,14 +295,13 @@ ConnectionGenericFile::Write(const void *src, size_t src_len, lldb::ConnectionSt m_overlapped.hEvent = NULL; // Writes are not interruptible like reads are, so just block until it's done. - BOOL result = ::WriteFile(m_file, src, src_len, NULL, &m_overlapped); + result = ::WriteFile(m_file, src, src_len, NULL, &m_overlapped); if (!result && ::GetLastError() != ERROR_IO_PENDING) { return_info.Set(0, eConnectionStatusError, ::GetLastError()); goto finish; } - DWORD bytes_written = 0; if (!::GetOverlappedResult(m_file, &m_overlapped, &bytes_written, TRUE)) { return_info.Set(bytes_written, eConnectionStatusError, ::GetLastError()); @@ -341,4 +343,4 @@ ConnectionGenericFile::IncrementFilePointer(DWORD amount) old_pos.QuadPart += amount; m_overlapped.Offset = old_pos.LowPart; m_overlapped.OffsetHigh = old_pos.HighPart; -} \ No newline at end of file +} -- 2.7.4