summaryrefslogtreecommitdiffstats
path: root/src/zziplib-1-fix-mmap.patch
diff options
context:
space:
mode:
authorGregory Smith <wolfy@treellama.org>2013-10-05 10:35:51 (GMT)
committerTony Theodore <tonyt@logyst.com>2013-10-05 10:35:51 (GMT)
commit926f4baca08e2d1e3bd95f9e8255a3b1060ecd31 (patch)
tree1b4d21f759f721c9a0ca5f27bbd7402d3368ce90 /src/zziplib-1-fix-mmap.patch
parent58f8d06d3f05fd54cc044b5ccdbfa1d961018798 (diff)
downloadmxe-926f4baca08e2d1e3bd95f9e8255a3b1060ecd31.zip
mxe-926f4baca08e2d1e3bd95f9e8255a3b1060ecd31.tar.gz
mxe-926f4baca08e2d1e3bd95f9e8255a3b1060ecd31.tar.bz2
package zziplib: enable mmap support
Diffstat (limited to 'src/zziplib-1-fix-mmap.patch')
-rw-r--r--src/zziplib-1-fix-mmap.patch37
1 files changed, 37 insertions, 0 deletions
diff --git a/src/zziplib-1-fix-mmap.patch b/src/zziplib-1-fix-mmap.patch
new file mode 100644
index 0000000..f95a691
--- /dev/null
+++ b/src/zziplib-1-fix-mmap.patch
@@ -0,0 +1,37 @@
+This file is part of MXE.
+See index.html for further information.
+
+This patch has been taken from:
+http://sourceforge.net/tracker/?func=detail&aid=2995373&group_id=6389&atid=306389
+
+--- zziplib-0.13.59/zzip/__mmap.h 2013-10-03 22:23:32.467619238 -0400
++++ zzip-patched/zzip/__mmap.h 2013-10-04 21:44:16.412881609 -0400
+@@ -63,14 +63,15 @@
+ return 0;
+ {
+ HANDLE hFile = (HANDLE)_get_osfhandle(fd);
++ HANDLE fileMapping = NULL;
+ if (hFile)
+- *user = (int) CreateFileMapping (hFile, 0, PAGE_READONLY, 0, 0, NULL);
+- if (*user)
++ fileMapping = CreateFileMapping(hFile, 0, PAGE_READONLY, 0, 0, NULL);
++ if (fileMapping != NULL)
+ {
+ char* p = 0;
+- p = MapViewOfFile(*(HANDLE*)user, FILE_MAP_READ, 0, offs, len);
+- if (p) return p + offs;
+- CloseHandle (*(HANDLE*)user); *user = 1;
++ p = MapViewOfFile(fileMapping, FILE_MAP_READ, 0, offs, len);
++ CloseHandle (fileMapping);
++ if (p) return p;
+ }
+ return MAP_FAILED;
+ }
+@@ -78,7 +79,6 @@
+ static void win32_munmap (long* user, char* fd_map, size_t len)
+ {
+ UnmapViewOfFile (fd_map);
+- CloseHandle (*(HANDLE*)user); *user = 1;
+ }
+
+ #define _zzip_mmap(user, fd, offs, len) \