aboutsummaryrefslogtreecommitdiff
path: root/src/SFileExtractFile.cpp
diff options
context:
space:
mode:
authorunknown <E:\Ladik\Mail>2015-01-18 17:34:34 +0100
committerunknown <E:\Ladik\Mail>2015-01-18 17:34:34 +0100
commit23ffb9d452397b3ca1742854ebbeeeb305b98bc4 (patch)
tree796714e507d68e8ecbda7313deb163fa586cd1a5 /src/SFileExtractFile.cpp
parente9842c38cf9c55f682b2a411cea84ee59d69ec92 (diff)
+ More paratemer checking to make nitpickers happy
Diffstat (limited to 'src/SFileExtractFile.cpp')
-rw-r--r--src/SFileExtractFile.cpp29
1 files changed, 13 insertions, 16 deletions
diff --git a/src/SFileExtractFile.cpp b/src/SFileExtractFile.cpp
index 314d8ff..cabde49 100644
--- a/src/SFileExtractFile.cpp
+++ b/src/SFileExtractFile.cpp
@@ -34,26 +34,23 @@ bool WINAPI SFileExtractFile(HANDLE hMpq, const char * szToExtract, const TCHAR
}
// Copy the file's content
- if(nError == ERROR_SUCCESS)
+ while(nError == ERROR_SUCCESS)
{
char szBuffer[0x1000];
- DWORD dwTransferred;
+ DWORD dwTransferred = 0;
- for(;;)
- {
- // dwTransferred is only set to nonzero if something has been read.
- // nError can be ERROR_SUCCESS or ERROR_HANDLE_EOF
- if(!SFileReadFile(hMpqFile, szBuffer, sizeof(szBuffer), &dwTransferred, NULL))
- nError = GetLastError();
- if(nError == ERROR_HANDLE_EOF)
- nError = ERROR_SUCCESS;
- if(dwTransferred == 0)
- break;
+ // dwTransferred is only set to nonzero if something has been read.
+ // nError can be ERROR_SUCCESS or ERROR_HANDLE_EOF
+ if(!SFileReadFile(hMpqFile, szBuffer, sizeof(szBuffer), &dwTransferred, NULL))
+ nError = GetLastError();
+ if(nError == ERROR_HANDLE_EOF)
+ nError = ERROR_SUCCESS;
+ if(dwTransferred == 0)
+ break;
- // If something has been actually read, write it
- if(!FileStream_Write(pLocalFile, NULL, szBuffer, dwTransferred))
- nError = GetLastError();
- }
+ // If something has been actually read, write it
+ if(!FileStream_Write(pLocalFile, NULL, szBuffer, dwTransferred))
+ nError = GetLastError();
}
// Close the files