From f8000d4ba14414657b2255fda3ca058074166b76 Mon Sep 17 00:00:00 2001 From: Araq Date: Wed, 18 Sep 2019 12:16:37 +0200 Subject: fixes #12186 --- lib/pure/memfiles.nim | 2 +- lib/windows/winlean.nim | 9 ++++++++- 2 files changed, 9 insertions(+), 2 deletions(-) (limited to 'lib') diff --git a/lib/pure/memfiles.nim b/lib/pure/memfiles.nim index 277c4ddb6..68eacaa36 100644 --- a/lib/pure/memfiles.nim +++ b/lib/pure/memfiles.nim @@ -60,7 +60,7 @@ proc mapMem*(m: var MemFile, mode: FileMode = fmRead, if readonly: FILE_MAP_READ else: FILE_MAP_READ or FILE_MAP_WRITE, int32(offset shr 32), int32(offset and 0xffffffff), - if mappedSize == -1: 0 else: mappedSize, + WinSizeT(if mappedSize == -1: 0 else: mappedSize), nil) if result == nil: raiseOSError(osLastError()) diff --git a/lib/windows/winlean.nim b/lib/windows/winlean.nim index 4e2db7ac2..1eba3ac36 100644 --- a/lib/windows/winlean.nim +++ b/lib/windows/winlean.nim @@ -745,9 +745,16 @@ proc setFilePointer*(hFile: Handle, lDistanceToMove: LONG, proc getFileSize*(hFile: Handle, lpFileSizeHigh: ptr DWORD): DWORD{.stdcall, dynlib: "kernel32", importc: "GetFileSize".} +when defined(cpu32): + type + WinSizeT* = uint32 +else: + type + WinSizeT* = uint64 + proc mapViewOfFileEx*(hFileMappingObject: Handle, dwDesiredAccess: DWORD, dwFileOffsetHigh, dwFileOffsetLow: DWORD, - dwNumberOfBytesToMap: DWORD, + dwNumberOfBytesToMap: WinSizeT, lpBaseAddress: pointer): pointer{. stdcall, dynlib: "kernel32", importc: "MapViewOfFileEx".} -- cgit 1.4.1-2-gfad0