From 486a7dd29f3bdf884d4be5588d9171daa5da1bae Mon Sep 17 00:00:00 2001 From: Ladislav Zezula Date: Thu, 3 Jul 2025 09:27:16 +0200 Subject: Replaced GetLastError with SErrGetLastError --- src/FileStream.cpp | 73 ++++++++++++++++++++---------------------------------- 1 file changed, 27 insertions(+), 46 deletions(-) (limited to 'src/FileStream.cpp') diff --git a/src/FileStream.cpp b/src/FileStream.cpp index 39db0a0..b5a0a6d 100644 --- a/src/FileStream.cpp +++ b/src/FileStream.cpp @@ -33,25 +33,6 @@ //----------------------------------------------------------------------------- // Local functions - platform-specific functions -#ifndef STORMLIB_WINDOWS - -#ifndef STORMLIB_WIIU -static thread_local DWORD dwLastError = ERROR_SUCCESS; -#else -static DWORD dwLastError = ERROR_SUCCESS; -#endif - -DWORD GetLastError() -{ - return dwLastError; -} - -void SetLastError(DWORD dwErrCode) -{ - dwLastError = dwErrCode; -} -#endif - static DWORD StringToInt(const char * szString) { DWORD dwValue = 0; @@ -262,7 +243,7 @@ static bool BaseFile_Read( // If the number of bytes read doesn't match to required amount, return false pStream->Base.File.FilePos = ByteOffset + dwBytesRead; if(dwBytesRead != dwBytesToRead) - SetLastError(ERROR_HANDLE_EOF); + SErrSetLastError(ERROR_HANDLE_EOF); return (dwBytesRead == dwBytesToRead); } @@ -334,7 +315,7 @@ static bool BaseFile_Write(TFileStream * pStream, ULONGLONG * pByteOffset, const pStream->Base.File.FileSize = pStream->Base.File.FilePos; if(dwBytesWritten != dwBytesToWrite) - SetLastError(ERROR_DISK_FULL); + SErrSetLastError(ERROR_DISK_FULL); return (dwBytesWritten == dwBytesToWrite); } @@ -353,7 +334,7 @@ static bool BaseFile_Resize(TFileStream * pStream, ULONGLONG NewFileSize) // Set the position at the new file size dwNewPos = SetFilePointer(pStream->Base.File.hFile, (LONG)NewFileSize, &FileSizeHi, FILE_BEGIN); - if(dwNewPos == INVALID_SET_FILE_POINTER && GetLastError() != ERROR_SUCCESS) + if(dwNewPos == INVALID_SET_FILE_POINTER && SErrGetLastError() != ERROR_SUCCESS) return false; // Set the current file pointer as the end of the file @@ -748,7 +729,7 @@ static bool BaseHttp_Open(TFileStream * pStream, const TCHAR * szFileName, DWORD if(_tcscmp(StatusCode, _T("200"))) { InternetCloseHandle(hRequest); - SetLastError(ERROR_FILE_NOT_FOUND); + SErrSetLastError(ERROR_FILE_NOT_FOUND); return false; } } @@ -793,7 +774,7 @@ static bool BaseHttp_Open(TFileStream * pStream, const TCHAR * szFileName, DWORD #else // Not supported - SetLastError(ERROR_NOT_SUPPORTED); + SErrSetLastError(ERROR_NOT_SUPPORTED); pStream = pStream; return false; @@ -861,7 +842,7 @@ static bool BaseHttp_Read( // If the number of bytes read doesn't match the required amount, return false if(dwTotalBytesRead != dwBytesToRead) - SetLastError(ERROR_HANDLE_EOF); + SErrSetLastError(ERROR_HANDLE_EOF); return (dwTotalBytesRead == dwBytesToRead); #else @@ -871,7 +852,7 @@ static bool BaseHttp_Read( pByteOffset = pByteOffset; pvBuffer = pvBuffer; dwBytesToRead = dwBytesToRead; - SetLastError(ERROR_NOT_SUPPORTED); + SErrSetLastError(ERROR_NOT_SUPPORTED); return false; #endif @@ -945,7 +926,7 @@ static bool BlockStream_Read( EndOffset = ByteOffset + dwBytesToRead; if(EndOffset > pStream->StreamSize) { - SetLastError(ERROR_HANDLE_EOF); + SErrSetLastError(ERROR_HANDLE_EOF); return false; } @@ -962,7 +943,7 @@ static bool BlockStream_Read( TransferBuffer = BlockBuffer = STORM_ALLOC(BYTE, (BlockCount * BlockSize)); if(TransferBuffer == NULL) { - SetLastError(ERROR_NOT_ENOUGH_MEMORY); + SErrSetLastError(ERROR_NOT_ENOUGH_MEMORY); return false; } @@ -1040,7 +1021,7 @@ static bool BlockStream_Read( else { // If the block read failed, set the last error - SetLastError(ERROR_FILE_INCOMPLETE); + SErrSetLastError(ERROR_FILE_INCOMPLETE); } // Call the callback to indicate we are done @@ -1117,7 +1098,7 @@ static TFileStream * AllocateFileStream( // Don't allow another master file in the string if(_tcschr(szNextFile + 1, _T('*')) != NULL) { - SetLastError(ERROR_INVALID_PARAMETER); + SErrSetLastError(ERROR_INVALID_PARAMETER); return NULL; } @@ -1456,7 +1437,7 @@ static TFileStream * FlatStream_Open(const TCHAR * szFileName, DWORD dwStreamFla if(!FlatStream_CreateMirror(pStream)) { FileStream_Close(pStream); - SetLastError(ERROR_FILE_NOT_FOUND); + SErrSetLastError(ERROR_FILE_NOT_FOUND); return NULL; } } @@ -1875,7 +1856,7 @@ static TFileStream * PartStream_Open(const TCHAR * szFileName, DWORD dwStreamFla if(!PartStream_CreateMirror(pStream)) { FileStream_Close(pStream); - SetLastError(ERROR_FILE_NOT_FOUND); + SErrSetLastError(ERROR_FILE_NOT_FOUND); return NULL; } } @@ -1892,7 +1873,7 @@ static TFileStream * PartStream_Open(const TCHAR * szFileName, DWORD dwStreamFla if(!PartStream_LoadBitmap(pStream)) { FileStream_Close(pStream); - SetLastError(ERROR_BAD_FORMAT); + SErrSetLastError(ERROR_BAD_FORMAT); return NULL; } } @@ -2212,7 +2193,7 @@ static TFileStream * MpqeStream_Open(const TCHAR * szFileName, DWORD dwStreamFla // Cleanup the stream and return FileStream_Close(pStream); - SetLastError(ERROR_UNKNOWN_FILE_KEY); + SErrSetLastError(ERROR_UNKNOWN_FILE_KEY); return NULL; } @@ -2358,7 +2339,7 @@ static TFileStream * Block4Stream_Open(const TCHAR * szFileName, DWORD dwStreamF NewBaseArray = STORM_ALLOC(TBaseProviderData, dwBaseFiles + 1); if(NewBaseArray == NULL) { - SetLastError(ERROR_NOT_ENOUGH_MEMORY); + SErrSetLastError(ERROR_NOT_ENOUGH_MEMORY); return NULL; } @@ -2413,7 +2394,7 @@ static TFileStream * Block4Stream_Open(const TCHAR * szFileName, DWORD dwStreamF if(dwBaseFiles == 0) { FileStream_Close(pStream); - SetLastError(ERROR_FILE_NOT_FOUND); + SErrSetLastError(ERROR_FILE_NOT_FOUND); pStream = NULL; } @@ -2449,7 +2430,7 @@ TFileStream * FileStream_CreateFile( // We only support creation of flat, local file if((dwStreamFlags & (STREAM_PROVIDERS_MASK)) != (STREAM_PROVIDER_FLAT | BASE_PROVIDER_FILE)) { - SetLastError(ERROR_NOT_SUPPORTED); + SErrSetLastError(ERROR_NOT_SUPPORTED); return NULL; } @@ -2523,7 +2504,7 @@ TFileStream * FileStream_OpenFile( return Block4Stream_Open(szFileName, dwStreamFlags); default: - SetLastError(ERROR_INVALID_PARAMETER); + SErrSetLastError(ERROR_INVALID_PARAMETER); return NULL; } } @@ -2635,7 +2616,7 @@ bool FileStream_SetCallback(TFileStream * pStream, SFILE_DOWNLOAD_CALLBACK pfnCa if(pStream->BlockRead == NULL) { - SetLastError(ERROR_NOT_SUPPORTED); + SErrSetLastError(ERROR_NOT_SUPPORTED); return false; } @@ -2733,7 +2714,7 @@ bool FileStream_GetBitmap(TFileStream * pStream, void * pvBitmap, DWORD cbBitmap // Set last error value and return if(bResult == false) - SetLastError(ERROR_INSUFFICIENT_BUFFER); + SErrSetLastError(ERROR_INSUFFICIENT_BUFFER); return bResult; } @@ -2753,8 +2734,8 @@ bool FileStream_GetBitmap(TFileStream * pStream, void * pvBitmap, DWORD cbBitmap * * \returns * - If the function reads the required amount of bytes, it returns true. - * - If the function reads less than required bytes, it returns false and GetLastError() returns ERROR_HANDLE_EOF - * - If the function fails, it reads false and GetLastError() returns an error code different from ERROR_HANDLE_EOF + * - If the function reads less than required bytes, it returns false and SErrGetLastError() returns ERROR_HANDLE_EOF + * - If the function fails, it reads false and SErrGetLastError() returns an error code different from ERROR_HANDLE_EOF */ bool FileStream_Read(TFileStream * pStream, ULONGLONG * pByteOffset, void * pvBuffer, DWORD dwBytesToRead) { @@ -2778,7 +2759,7 @@ bool FileStream_Write(TFileStream * pStream, ULONGLONG * pByteOffset, const void { if(pStream->dwFlags & STREAM_FLAG_READ_ONLY) { - SetLastError(ERROR_ACCESS_DENIED); + SErrSetLastError(ERROR_ACCESS_DENIED); return false; } @@ -2808,7 +2789,7 @@ bool FileStream_SetSize(TFileStream * pStream, ULONGLONG NewFileSize) { if(pStream->dwFlags & STREAM_FLAG_READ_ONLY) { - SetLastError(ERROR_ACCESS_DENIED); + SErrSetLastError(ERROR_ACCESS_DENIED); return false; } @@ -2868,14 +2849,14 @@ bool FileStream_Replace(TFileStream * pStream, TFileStream * pNewStream) // Only supported on flat files if((pStream->dwFlags & STREAM_PROVIDERS_MASK) != (STREAM_PROVIDER_FLAT | BASE_PROVIDER_FILE)) { - SetLastError(ERROR_NOT_SUPPORTED); + SErrSetLastError(ERROR_NOT_SUPPORTED); return false; } // Not supported on read-only streams if(pStream->dwFlags & STREAM_FLAG_READ_ONLY) { - SetLastError(ERROR_ACCESS_DENIED); + SErrSetLastError(ERROR_ACCESS_DENIED); return false; } -- cgit v1.2.3 From 8d35b981c623de4c46afd933b0e7ac63aa7ca622 Mon Sep 17 00:00:00 2001 From: Ladislav Zezula Date: Thu, 3 Jul 2025 09:33:14 +0200 Subject: Fixed Linux build --- src/FileStream.cpp | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) (limited to 'src/FileStream.cpp') diff --git a/src/FileStream.cpp b/src/FileStream.cpp index b5a0a6d..95f48a7 100644 --- a/src/FileStream.cpp +++ b/src/FileStream.cpp @@ -99,7 +99,7 @@ static bool BaseFile_Create(TFileStream * pStream) if(handle == -1) { pStream->Base.File.hFile = INVALID_HANDLE_VALUE; - dwLastError = errno; + SErrSetLastError(errno); return false; } @@ -152,7 +152,7 @@ static bool BaseFile_Open(TFileStream * pStream, const TCHAR * szFileName, DWORD if(handle == -1) { pStream->Base.File.hFile = INVALID_HANDLE_VALUE; - dwLastError = errno; + SErrSetLastError(errno); return false; } @@ -160,7 +160,7 @@ static bool BaseFile_Open(TFileStream * pStream, const TCHAR * szFileName, DWORD if(fstat64(handle, &fileinfo) == -1) { pStream->Base.File.hFile = INVALID_HANDLE_VALUE; - dwLastError = errno; + SErrSetLastError(errno); close(handle); return false; } @@ -230,7 +230,7 @@ static bool BaseFile_Read( bytes_read = read((intptr_t)pStream->Base.File.hFile, pvBuffer, (size_t)dwBytesToRead); if(bytes_read == -1) { - dwLastError = errno; + SErrSetLastError(errno); return false; } @@ -299,7 +299,7 @@ static bool BaseFile_Write(TFileStream * pStream, ULONGLONG * pByteOffset, const bytes_written = write((intptr_t)pStream->Base.File.hFile, pvBuffer, (size_t)dwBytesToWrite); if(bytes_written == -1) { - dwLastError = errno; + SErrSetLastError(errno); return false; } @@ -354,7 +354,7 @@ static bool BaseFile_Resize(TFileStream * pStream, ULONGLONG NewFileSize) { if(ftruncate64((intptr_t)pStream->Base.File.hFile, (off64_t)NewFileSize) == -1) { - dwLastError = errno; + SErrSetLastError(errno); return false; } @@ -398,7 +398,7 @@ static bool BaseFile_Replace(TFileStream * pStream, TFileStream * pNewStream) // "rename" on Linux also works if the target file exists if(rename(pNewStream->szFileName, pStream->szFileName) == -1) { - dwLastError = errno; + SErrSetLastError(errno); return false; } @@ -580,7 +580,7 @@ static bool BaseMap_Open(TFileStream * pStream, LPCTSTR szFileName, DWORD dwStre // Did the mapping fail? if(bResult == false) - dwLastError = errno; + SErrSetLastError(errno); return bResult; #else -- cgit v1.2.3