diff --git a/win.c b/win.c index 723f5d5..342e1b5 100644 --- a/win.c +++ b/win.c @@ -62,19 +62,15 @@ void* mmap(void *addr, size_t len, int prot, int flags, int fildes, ssize_t off) #pragma warning(disable: 4293) #endif - const DWORD dwFileOffsetLow = (sizeof(ssize_t) <= sizeof(DWORD)) ? - (DWORD)off : (DWORD)(off & 0xFFFFFFFFL); - const DWORD dwFileOffsetHigh = (sizeof(ssize_t) <= sizeof(DWORD)) ? - (DWORD)0 : (DWORD)((off >> 32) & 0xFFFFFFFFL); + const DWORD dwFileOffsetLow = (DWORD)(off & 0xFFFFFFFFL); + const DWORD dwFileOffsetHigh = (DWORD)((off >> 32) & 0xFFFFFFFFL); const DWORD protect = __map_mmap_prot_page(prot); const DWORD desiredAccess = __map_mmap_prot_file(prot); const ssize_t maxSize = off + (ssize_t)len; - const DWORD dwMaxSizeLow = (sizeof(ssize_t) <= sizeof(DWORD)) ? - (DWORD)maxSize : (DWORD)(maxSize & 0xFFFFFFFFL); - const DWORD dwMaxSizeHigh = (sizeof(ssize_t) <= sizeof(DWORD)) ? - (DWORD)0 : (DWORD)((maxSize >> 32) & 0xFFFFFFFFL); + const DWORD dwMaxSizeLow = (DWORD)(maxSize & 0xFFFFFFFFL); + const DWORD dwMaxSizeHigh = (DWORD)((maxSize >> 32) & 0xFFFFFFFFL); #ifdef _MSC_VER #pragma warning(pop) @@ -108,11 +104,11 @@ void* mmap(void *addr, size_t len, int prot, int flags, int fildes, ssize_t off) errno = __map_mman_error(GetLastError(), EPERM); return MAP_FAILED; } - + map = MapViewOfFile(fm, desiredAccess, dwFileOffsetHigh, dwFileOffsetLow, len); CloseHandle(fm); - + if (map == NULL) { errno = __map_mman_error(GetLastError(), EPERM);