diff options
| author | Mark Adler <madler@alumni.caltech.edu> | 2013-08-03 18:13:23 -0700 |
|---|---|---|
| committer | Mark Adler <madler@alumni.caltech.edu> | 2013-08-03 18:13:23 -0700 |
| commit | 89e335abb49cd5c7d29d94e8f506d3f8ed71315a (patch) | |
| tree | 5b5f86a856eb4cb89b9af032ff2b261bfd6fc114 | |
| parent | 303d92cfee8ffccaf446ba0ca442ef905dc059e3 (diff) | |
| download | zlib-89e335abb49cd5c7d29d94e8f506d3f8ed71315a.tar.gz zlib-89e335abb49cd5c7d29d94e8f506d3f8ed71315a.tar.bz2 zlib-89e335abb49cd5c7d29d94e8f506d3f8ed71315a.zip | |
Fix contrib/minizip to permit unzipping with desktop API [Zouzou].
| -rw-r--r-- | contrib/minizip/iowin32.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/contrib/minizip/iowin32.c b/contrib/minizip/iowin32.c index a46d96c..274f39e 100644 --- a/contrib/minizip/iowin32.c +++ b/contrib/minizip/iowin32.c | |||
| @@ -26,8 +26,9 @@ | |||
| 26 | #endif | 26 | #endif |
| 27 | 27 | ||
| 28 | 28 | ||
| 29 | // see Include/shared/winapifamily.h in the Windows Kit | ||
| 29 | #if defined(WINAPI_FAMILY_PARTITION) && (!(defined(IOWIN32_USING_WINRT_API))) | 30 | #if defined(WINAPI_FAMILY_PARTITION) && (!(defined(IOWIN32_USING_WINRT_API))) |
| 30 | #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) | 31 | #if WINAPI_FAMILY_ONE_PARTITION(WINAPI_FAMILY, WINAPI_PARTITION_APP) |
| 31 | #define IOWIN32_USING_WINRT_API 1 | 32 | #define IOWIN32_USING_WINRT_API 1 |
| 32 | #endif | 33 | #endif |
| 33 | #endif | 34 | #endif |
| @@ -243,7 +244,7 @@ static BOOL MySetFilePointerEx(HANDLE hFile, LARGE_INTEGER pos, LARGE_INTEGER *n | |||
| 243 | return SetFilePointerEx(hFile, pos, newPos, dwMoveMethod); | 244 | return SetFilePointerEx(hFile, pos, newPos, dwMoveMethod); |
| 244 | #else | 245 | #else |
| 245 | LONG lHigh = pos.HighPart; | 246 | LONG lHigh = pos.HighPart; |
| 246 | DWORD dwNewPos = SetFilePointer(hFile, pos.LowPart, &lHigh, FILE_CURRENT); | 247 | DWORD dwNewPos = SetFilePointer(hFile, pos.LowPart, &lHigh, dwMoveMethod); |
| 247 | BOOL fOk = TRUE; | 248 | BOOL fOk = TRUE; |
| 248 | if (dwNewPos == 0xFFFFFFFF) | 249 | if (dwNewPos == 0xFFFFFFFF) |
| 249 | if (GetLastError() != NO_ERROR) | 250 | if (GetLastError() != NO_ERROR) |
| @@ -370,7 +371,7 @@ long ZCALLBACK win32_seek64_file_func (voidpf opaque, voidpf stream,ZPOS64_T off | |||
| 370 | { | 371 | { |
| 371 | LARGE_INTEGER pos; | 372 | LARGE_INTEGER pos; |
| 372 | pos.QuadPart = offset; | 373 | pos.QuadPart = offset; |
| 373 | if (!MySetFilePointerEx(hFile, pos, NULL, FILE_CURRENT)) | 374 | if (!MySetFilePointerEx(hFile, pos, NULL, dwMoveMethod)) |
| 374 | { | 375 | { |
| 375 | DWORD dwErr = GetLastError(); | 376 | DWORD dwErr = GetLastError(); |
| 376 | ((WIN32FILE_IOWIN*)stream) -> error=(int)dwErr; | 377 | ((WIN32FILE_IOWIN*)stream) -> error=(int)dwErr; |
