Refactor mapFile for Windows

This commit is contained in:
Rangi42
2024-03-09 19:22:06 -05:00
parent cce7f51235
commit ba104baf3e

View File

@@ -50,7 +50,7 @@
static void mapFile(void *&mappingAddr, int fd, char const *path, size_t) { static void mapFile(void *&mappingAddr, int fd, char const *path, size_t) {
mappingAddr = MAP_FAILED; mappingAddr = MAP_FAILED;
HANDLE file = CreateFileA( if (HANDLE file = CreateFileA(
path, path,
GENERIC_READ, GENERIC_READ,
FILE_SHARE_READ, FILE_SHARE_READ,
@@ -59,14 +59,14 @@ static void mapFile(void *&mappingAddr, int fd, char const *path, size_t) {
FILE_FLAG_POSIX_SEMANTICS | FILE_FLAG_RANDOM_ACCESS, FILE_FLAG_POSIX_SEMANTICS | FILE_FLAG_RANDOM_ACCESS,
nullptr nullptr
); );
HANDLE mappingObj; file != INVALID_HANDLE_VALUE) {
if (file == INVALID_HANDLE_VALUE) if (HANDLE mappingObj = CreateFileMappingA(file, nullptr, PAGE_READONLY, 0, 0, nullptr);
return; mappingObj != INVALID_HANDLE_VALUE) {
mappingObj = CreateFileMappingA(file, nullptr, PAGE_READONLY, 0, 0, nullptr);
if (mappingObj != INVALID_HANDLE_VALUE)
mappingAddr = MapViewOfFile(mappingObj, FILE_MAP_READ, 0, 0, 0); mappingAddr = MapViewOfFile(mappingObj, FILE_MAP_READ, 0, 0, 0);
CloseHandle(mappingObj); CloseHandle(mappingObj);
}
CloseHandle(file); CloseHandle(file);
}
} }
static int munmap(void *mappingAddr, size_t) { static int munmap(void *mappingAddr, size_t) {