diff options
author | Ladislav Zezula <zezula@volny.cz> | 2021-03-31 17:40:34 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-03-31 17:40:34 +0200 |
commit | 0a9057a09f083eb4791a55eb3d9538cea9822e37 (patch) | |
tree | d28b9cd9a884ddbf7c89de7170c638e8a9230e27 /src | |
parent | ce159e90bca94be3c9050fe467d497cfcbe759a8 (diff) | |
parent | 48f26f9f75a840a31b86a245f974009edf6d90bf (diff) |
Merge pull request #209 from ladislav-zezula/MmapTest
Mmap test
Diffstat (limited to 'src')
-rw-r--r-- | src/FileStream.cpp | 22 | ||||
-rw-r--r-- | src/StormPort.h | 6 |
2 files changed, 15 insertions, 13 deletions
diff --git a/src/FileStream.cpp b/src/FileStream.cpp index 50f6ea5..bfb5817 100644 --- a/src/FileStream.cpp +++ b/src/FileStream.cpp @@ -561,13 +561,11 @@ static bool BaseMap_Open(TFileStream * pStream, LPCTSTR szFileName, DWORD dwStre if(hFile != INVALID_HANDLE_VALUE)
CloseHandle(hFile);
- // If the file is not there and is not available for random access,
- // report error
- if(bResult == false)
- return false;
-#endif
+ // Return the result of the operation
+ return bResult;
+
+#elif defined(STORMLIB_HAS_MMAP)
-#if defined(STORMLIB_MAC) || defined(STORMLIB_LINUX)
struct stat64 fileinfo;
intptr_t handle;
bool bResult = false;
@@ -596,13 +594,15 @@ static bool BaseMap_Open(TFileStream * pStream, LPCTSTR szFileName, DWORD dwStre // Did the mapping fail?
if(bResult == false)
- {
nLastError = errno;
- return false;
- }
-#endif
+ return bResult;
- return true;
+#else
+
+ // File mapping is not supported
+ return false;
+
+#endif
}
static bool BaseMap_Read(
diff --git a/src/StormPort.h b/src/StormPort.h index 30d9e12..bd7947f 100644 --- a/src/StormPort.h +++ b/src/StormPort.h @@ -65,7 +65,7 @@ #define STORMLIB_CDECL __cdecl #define STORMLIB_WINDOWS - #define STORMLIB_PLATFORM_DEFINED // The platform is known now + #define STORMLIB_PLATFORM_DEFINED // The platform is known now #endif @@ -102,7 +102,8 @@ #endif #define STORMLIB_MAC - #define STORMLIB_PLATFORM_DEFINED // The platform is known now + #define STORMLIB_HAS_MMAP // Indicate that we have mmap support + #define STORMLIB_PLATFORM_DEFINED // The platform is known now #endif @@ -272,6 +273,7 @@ #endif #define STORMLIB_LINUX + #define STORMLIB_HAS_MMAP // Indicate that we have mmap support #define STORMLIB_PLATFORM_DEFINED #endif |