From: Michihiro NAKAJIMA Date: Thu, 4 Oct 2012 00:41:57 +0000 (+0900) Subject: Fix build failure on mingw32. X-Git-Tag: v3.1.0~40^2~113 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=552b8dbc080bf2e6bd309fcb3f7615a74e04f9a7;p=thirdparty%2Flibarchive.git Fix build failure on mingw32. --- diff --git a/cpio/test/main.c b/cpio/test/main.c index d4cd865c5..ac0347529 100644 --- a/cpio/test/main.c +++ b/cpio/test/main.c @@ -92,6 +92,7 @@ __FBSDID("$FreeBSD: src/usr.bin/cpio/test/main.c,v 1.3 2008/08/24 04:58:22 kient */ #if defined(_WIN32) && !defined(__CYGWIN__) #include +#include #include #ifndef F_OK #define F_OK (0) @@ -1177,11 +1178,11 @@ assertion_file_time(const char *file, int line, #if defined(_WIN32) && !defined(__CYGWIN__) #define EPOC_TIME (116444736000000000ULL) - FILETIME ftime, fbirthtime, fatime, fmtime; + FILETIME fxtime, fbirthtime, fatime, fmtime; ULARGE_INTEGER wintm; HANDLE h; - ftime.dwLowDateTime = 0; - ftime.dwHighDateTime = 0; + fxtime.dwLowDateTime = 0; + fxtime.dwHighDateTime = 0; assertion_count(file, line); /* Note: FILE_FLAG_BACKUP_SEMANTICS applies to open @@ -1196,9 +1197,9 @@ assertion_file_time(const char *file, int line, } r = GetFileTime(h, &fbirthtime, &fatime, &fmtime); switch (type) { - case 'a': ftime = fatime; break; - case 'b': ftime = fbirthtime; break; - case 'm': ftime = fmtime; break; + case 'a': fxtime = fatime; break; + case 'b': fxtime = fbirthtime; break; + case 'm': fxtime = fmtime; break; } CloseHandle(h); if (r == 0) { @@ -1206,8 +1207,8 @@ assertion_file_time(const char *file, int line, failure_finish(NULL); return (0); } - wintm.LowPart = ftime.dwLowDateTime; - wintm.HighPart = ftime.dwHighDateTime; + wintm.LowPart = fxtime.dwLowDateTime; + wintm.HighPart = fxtime.dwHighDateTime; filet = (wintm.QuadPart - EPOC_TIME) / 10000000; filet_nsec = ((wintm.QuadPart - EPOC_TIME) % 10000000) * 100; nsec = (nsec / 100) * 100; /* Round the request */ diff --git a/libarchive/archive_read_disk_windows.c b/libarchive/archive_read_disk_windows.c index 7bc141f41..40a1ca8c3 100644 --- a/libarchive/archive_read_disk_windows.c +++ b/libarchive/archive_read_disk_windows.c @@ -669,7 +669,7 @@ _archive_read_data_block(struct archive *_a, const void **buff, struct tree *t = a->tree; struct la_overlapped *olp; DWORD bytes_transferred; - int r; + int r = ARCHIVE_FATAL; archive_check_magic(_a, ARCHIVE_READ_DISK_MAGIC, ARCHIVE_STATE_DATA, "archive_read_data_block"); diff --git a/libarchive/archive_windows.h b/libarchive/archive_windows.h index a8e54c593..f755d5d72 100644 --- a/libarchive/archive_windows.h +++ b/libarchive/archive_windows.h @@ -49,6 +49,9 @@ #define LIBARCHIVE_ARCHIVE_WINDOWS_H_INCLUDED /* Start of configuration for native Win32 */ +#ifndef MINGW_HAS_SECURE_API +#define MINGW_HAS_SECURE_API 1 +#endif #include #define set_errno(val) ((errno)=val) @@ -90,8 +93,14 @@ #ifndef fileno #define fileno _fileno #endif +#ifdef fstat +#undef fstat +#endif #define fstat __la_fstat #if !defined(__BORLANDC__) +#ifdef lseek +#undef lseek +#endif #define lseek _lseeki64 #else #define lseek __la_lseek @@ -103,6 +112,9 @@ #if !defined(__BORLANDC__) #define setmode _setmode #endif +#ifdef stat +#undef stat +#endif #define stat(path,stref) __la_stat(path,stref) #if !defined(__BORLANDC__) #define strdup _strdup diff --git a/libarchive/archive_write_set_format_zip.c b/libarchive/archive_write_set_format_zip.c index 1f8a47371..e8dca57db 100644 --- a/libarchive/archive_write_set_format_zip.c +++ b/libarchive/archive_write_set_format_zip.c @@ -260,7 +260,6 @@ int archive_write_zip_set_compression_deflate(struct archive *_a) { struct archive_write *a = (struct archive_write *)_a; - struct zip *zip = a->format_data; int ret = ARCHIVE_FAILED; archive_check_magic(_a, ARCHIVE_WRITE_MAGIC, @@ -273,6 +272,7 @@ archive_write_zip_set_compression_deflate(struct archive *_a) ret = ARCHIVE_FATAL; } else { #ifdef HAVE_ZLIB_H + struct zip *zip = a->format_data; zip->compression = COMPRESSION_DEFLATE; ret = ARCHIVE_OK; #else diff --git a/libarchive/test/main.c b/libarchive/test/main.c index fd2e5dd93..f9db14437 100644 --- a/libarchive/test/main.c +++ b/libarchive/test/main.c @@ -90,6 +90,7 @@ __FBSDID("$FreeBSD: head/lib/libarchive/test/main.c 201247 2009-12-30 05:59:21Z */ #if defined(_WIN32) && !defined(__CYGWIN__) #include +#include #include #ifndef F_OK #define F_OK (0) @@ -1175,11 +1176,11 @@ assertion_file_time(const char *file, int line, #if defined(_WIN32) && !defined(__CYGWIN__) #define EPOC_TIME (116444736000000000ULL) - FILETIME ftime, fbirthtime, fatime, fmtime; + FILETIME fxtime, fbirthtime, fatime, fmtime; ULARGE_INTEGER wintm; HANDLE h; - ftime.dwLowDateTime = 0; - ftime.dwHighDateTime = 0; + fxtime.dwLowDateTime = 0; + fxtime.dwHighDateTime = 0; assertion_count(file, line); /* Note: FILE_FLAG_BACKUP_SEMANTICS applies to open @@ -1194,9 +1195,9 @@ assertion_file_time(const char *file, int line, } r = GetFileTime(h, &fbirthtime, &fatime, &fmtime); switch (type) { - case 'a': ftime = fatime; break; - case 'b': ftime = fbirthtime; break; - case 'm': ftime = fmtime; break; + case 'a': fxtime = fatime; break; + case 'b': fxtime = fbirthtime; break; + case 'm': fxtime = fmtime; break; } CloseHandle(h); if (r == 0) { @@ -1204,8 +1205,8 @@ assertion_file_time(const char *file, int line, failure_finish(NULL); return (0); } - wintm.LowPart = ftime.dwLowDateTime; - wintm.HighPart = ftime.dwHighDateTime; + wintm.LowPart = fxtime.dwLowDateTime; + wintm.HighPart = fxtime.dwHighDateTime; filet = (wintm.QuadPart - EPOC_TIME) / 10000000; filet_nsec = ((wintm.QuadPart - EPOC_TIME) % 10000000) * 100; nsec = (nsec / 100) * 100; /* Round the request */ diff --git a/libarchive/test/test_archive_read_multiple_data_objects.c b/libarchive/test/test_archive_read_multiple_data_objects.c index 437f2b557..391bf673f 100644 --- a/libarchive/test/test_archive_read_multiple_data_objects.c +++ b/libarchive/test/test_archive_read_multiple_data_objects.c @@ -31,8 +31,13 @@ __FBSDID("$FreeBSD$"); #define open _open #define close _close #define read _read +#if !defined(__BORLANDC__) +#ifdef lseek +#undef lseek +#endif #define lseek(f, o, w) _lseek(f, (long)(o), (int)(w)) #endif +#endif static void test_splitted_file(void) diff --git a/libarchive/test/test_open_fd.c b/libarchive/test/test_open_fd.c index 52b34bd12..13b594a05 100644 --- a/libarchive/test/test_open_fd.c +++ b/libarchive/test/test_open_fd.c @@ -28,6 +28,9 @@ __FBSDID("$FreeBSD: head/lib/libarchive/test/test_open_fd.c 201247 2009-12-30 05 #if defined(_WIN32) && !defined(__CYGWIN__) #define open _open #if !defined(__BORLANDC__) +#ifdef lseek +#undef lseek +#endif #define lseek _lseek #endif #define close _close diff --git a/tar/test/main.c b/tar/test/main.c index 26bab757c..140939321 100644 --- a/tar/test/main.c +++ b/tar/test/main.c @@ -92,6 +92,7 @@ __FBSDID("$FreeBSD: src/usr.bin/tar/test/main.c,v 1.6 2008/11/05 06:40:53 kientz */ #if defined(_WIN32) && !defined(__CYGWIN__) #include +#include #include #ifndef F_OK #define F_OK (0) @@ -1177,11 +1178,11 @@ assertion_file_time(const char *file, int line, #if defined(_WIN32) && !defined(__CYGWIN__) #define EPOC_TIME (116444736000000000ULL) - FILETIME ftime, fbirthtime, fatime, fmtime; + FILETIME fxtime, fbirthtime, fatime, fmtime; ULARGE_INTEGER wintm; HANDLE h; - ftime.dwLowDateTime = 0; - ftime.dwHighDateTime = 0; + fxtime.dwLowDateTime = 0; + fxtime.dwHighDateTime = 0; assertion_count(file, line); /* Note: FILE_FLAG_BACKUP_SEMANTICS applies to open @@ -1196,9 +1197,9 @@ assertion_file_time(const char *file, int line, } r = GetFileTime(h, &fbirthtime, &fatime, &fmtime); switch (type) { - case 'a': ftime = fatime; break; - case 'b': ftime = fbirthtime; break; - case 'm': ftime = fmtime; break; + case 'a': fxtime = fatime; break; + case 'b': fxtime = fbirthtime; break; + case 'm': fxtime = fmtime; break; } CloseHandle(h); if (r == 0) { @@ -1206,8 +1207,8 @@ assertion_file_time(const char *file, int line, failure_finish(NULL); return (0); } - wintm.LowPart = ftime.dwLowDateTime; - wintm.HighPart = ftime.dwHighDateTime; + wintm.LowPart = fxtime.dwLowDateTime; + wintm.HighPart = fxtime.dwHighDateTime; filet = (wintm.QuadPart - EPOC_TIME) / 10000000; filet_nsec = ((wintm.QuadPart - EPOC_TIME) % 10000000) * 100; nsec = (nsec / 100) * 100; /* Round the request */ diff --git a/tar/test/test_copy.c b/tar/test/test_copy.c index 69112900e..dd49bc410 100644 --- a/tar/test/test_copy.c +++ b/tar/test/test_copy.c @@ -29,6 +29,9 @@ __FBSDID("$FreeBSD: src/usr.bin/tar/test/test_copy.c,v 1.3 2008/08/15 06:12:02 k # include # include #endif +#if defined(_WIN32) && !defined(__CYGWIN__) +# include +#endif /* * Try to figure out how deep we can go in our tests. Assumes that diff --git a/tar/test/test_windows.c b/tar/test/test_windows.c index a2d0c214b..b3f3546be 100644 --- a/tar/test/test_windows.c +++ b/tar/test/test_windows.c @@ -25,6 +25,7 @@ #include "test.h" #if defined(_WIN32) && !defined(__CYGWIN__) +#include #include static void diff --git a/tar/write.c b/tar/write.c index 98ae2d95c..659b412ce 100644 --- a/tar/write.c +++ b/tar/write.c @@ -131,6 +131,9 @@ seek_file(int fd, int64_t offset, int whence) #define open _open #define close _close #define read _read +#ifdef lseek +#undef lseek +#endif #define lseek seek_file #endif