From ba104baf3e62b1513cd417d90ee7cefd1dc8867f Mon Sep 17 00:00:00 2001 From: Rangi42 Date: Sat, 9 Mar 2024 19:22:06 -0500 Subject: [PATCH] Refactor `mapFile` for Windows --- src/asm/lexer.cpp | 34 +++++++++++++++++----------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/src/asm/lexer.cpp b/src/asm/lexer.cpp index 1b1a45fb..df2b2f55 100644 --- a/src/asm/lexer.cpp +++ b/src/asm/lexer.cpp @@ -50,23 +50,23 @@ static void mapFile(void *&mappingAddr, int fd, char const *path, size_t) { mappingAddr = MAP_FAILED; - HANDLE file = CreateFileA( - path, - GENERIC_READ, - FILE_SHARE_READ, - nullptr, - OPEN_EXISTING, - FILE_FLAG_POSIX_SEMANTICS | FILE_FLAG_RANDOM_ACCESS, - nullptr - ); - HANDLE mappingObj; - if (file == INVALID_HANDLE_VALUE) - return; - mappingObj = CreateFileMappingA(file, nullptr, PAGE_READONLY, 0, 0, nullptr); - if (mappingObj != INVALID_HANDLE_VALUE) - mappingAddr = MapViewOfFile(mappingObj, FILE_MAP_READ, 0, 0, 0); - CloseHandle(mappingObj); - CloseHandle(file); + if (HANDLE file = CreateFileA( + path, + GENERIC_READ, + FILE_SHARE_READ, + nullptr, + OPEN_EXISTING, + FILE_FLAG_POSIX_SEMANTICS | FILE_FLAG_RANDOM_ACCESS, + nullptr + ); + file != INVALID_HANDLE_VALUE) { + if (HANDLE mappingObj = CreateFileMappingA(file, nullptr, PAGE_READONLY, 0, 0, nullptr); + mappingObj != INVALID_HANDLE_VALUE) { + mappingAddr = MapViewOfFile(mappingObj, FILE_MAP_READ, 0, 0, 0); + CloseHandle(mappingObj); + } + CloseHandle(file); + } } static int munmap(void *mappingAddr, size_t) {