Skip to content

Commit fd14269

Browse files
authored
Merge pull request #16 from ZachCook/patch-1
Support MAP_FIXED using MapViewOfFileEx
2 parents 9f115ad + 6556d4f commit fd14269

File tree

1 file changed

+8
-3
lines changed

1 file changed

+8
-3
lines changed

mman.c

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -87,8 +87,6 @@ void* mmap(void *addr, size_t len, int prot, int flags, int fildes, OffsetType o
8787
errno = 0;
8888

8989
if (len == 0
90-
/* Unsupported flag combinations */
91-
|| (flags & MAP_FIXED) != 0
9290
/* Usupported protection combinations */
9391
|| prot == PROT_EXEC)
9492
{
@@ -113,7 +111,14 @@ void* mmap(void *addr, size_t len, int prot, int flags, int fildes, OffsetType o
113111
return MAP_FAILED;
114112
}
115113

116-
map = MapViewOfFile(fm, desiredAccess, dwFileOffsetHigh, dwFileOffsetLow, len);
114+
if ((flags & MAP_FIXED) == 0)
115+
{
116+
map = MapViewOfFile(fm, desiredAccess, dwFileOffsetHigh, dwFileOffsetLow, len);
117+
}
118+
else
119+
{
120+
map = MapViewOfFileEx(fm, desiredAccess, dwFileOffsetHigh, dwFileOffsetLow, len, addr);
121+
}
117122

118123
CloseHandle(fm);
119124

0 commit comments

Comments
 (0)