From c16784088855393e766232ed330c322b7ccc58a1 Mon Sep 17 00:00:00 2001 From: Glenn Maynard Date: Mon, 23 May 2005 22:23:24 +0000 Subject: [PATCH] error handling/reporting fixes --- stepmania/src/RageFileDriverTimeout.cpp | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/stepmania/src/RageFileDriverTimeout.cpp b/stepmania/src/RageFileDriverTimeout.cpp index 56c19143a5..96f1b75b70 100644 --- a/stepmania/src/RageFileDriverTimeout.cpp +++ b/stepmania/src/RageFileDriverTimeout.cpp @@ -393,6 +393,8 @@ int ThreadedFileWorker::Seek( RageFileBasic *&pFile, int iPos, CString &sError ) return -1; } + if( m_iResultRequest == -1 ) + sError = m_sResultError; m_pRequestFile = NULL; return m_iResultRequest; @@ -428,7 +430,10 @@ int ThreadedFileWorker::Read( RageFileBasic *&pFile, void *pBuf, int iSize, CStr } int iGot = m_iResultRequest; - memcpy( pBuf, m_pResultBuffer, iGot ); + if( iGot == -1 ) + sError = m_sResultError; + else + memcpy( pBuf, m_pResultBuffer, iGot ); m_pRequestFile = NULL; delete [] m_pResultBuffer; @@ -468,6 +473,8 @@ int ThreadedFileWorker::Write( RageFileBasic *&pFile, const void *pBuf, int iSiz } int iGot = m_iResultRequest; + if( m_iResultRequest == -1 ) + sError = m_sResultError; m_pRequestFile = NULL; delete [] m_pRequestBuffer; @@ -503,6 +510,9 @@ int ThreadedFileWorker::Flush( RageFileBasic *&pFile, CString &sError ) return -1; } + if( m_iResultRequest == -1 ) + sError = m_sResultError; + m_pRequestFile = NULL; return m_iResultRequest;