Windows portability fixes. Different toolchains/versions provide different symbols. Use _snwprintf instead of swprintf since the latter changed signature. Claim we need at least Windows XP support to get GetFileSizeEx. Tested by Andrew Molyneux, Alex Sandro, and Christoph Becker.
diff --git a/lib/zip_source_win32w.c b/lib/zip_source_win32w.c index 14e5999..cf0801e 100644 --- a/lib/zip_source_win32w.c +++ b/lib/zip_source_win32w.c
@@ -99,7 +99,7 @@ return INVALID_HANDLE_VALUE; } } - if (swprintf((wchar_t *)*temp, len, L"%s.%08x", (const wchar_t *)ctx->fname, value) != len - 1) { + if (_snwprintf((wchar_t *)*temp, len, L"%s.%08x", (const wchar_t *)ctx->fname, value) != len - 1) { return INVALID_HANDLE_VALUE; }
diff --git a/lib/zipwin32.h b/lib/zipwin32.h index 4fa29cc..60f8d0c 100644 --- a/lib/zipwin32.h +++ b/lib/zipwin32.h
@@ -34,6 +34,8 @@ IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ +/* 0x0501 => Windows XP; needs to be at least this value because of GetFileSizeEx */ +#define _WIN32_WINNT 0x0501 #include <windows.h> /* context for Win32 source */