diff --git a/Utilities/cmlibarchive/libarchive/archive.h b/Utilities/cmlibarchive/libarchive/archive.h index a6c12ce24..9d84121bb 100644 --- a/Utilities/cmlibarchive/libarchive/archive.h +++ b/Utilities/cmlibarchive/libarchive/archive.h @@ -35,39 +35,41 @@ * this header! If you must conditionalize, use predefined compiler and/or * platform macros. */ +#if defined(__BORLANDC__) && __BORLANDC__ >= 0x560 +# define __LA_STDINT_H +#elif !defined(__WATCOMC__) && !defined(_MSC_VER) && !defined(__INTERIX) && !defined(__BORLANDC__) +# define __LA_STDINT_H +#endif #include #include /* Linux requires this for off_t */ -#if !defined(__WATCOMC__) && !defined(_MSC_VER) && !defined(__INTERIX) && !defined(__BORLANDC__) -/* Header unavailable on Watcom C or MS Visual C++ or SFU. */ -#include /* int64_t, etc. */ +#ifdef __LA_STDINT_H +# include __LA_STDINT_H /* int64_t, etc. */ #endif #include /* For FILE * */ /* Get appropriate definitions of standard POSIX-style types. */ /* These should match the types used in 'struct stat' */ -#if defined(_WIN32) && !defined(__CYGWIN__) && !defined(__BORLANDC__) +#if defined(_WIN32) && !defined(__CYGWIN__) #define __LA_INT64_T __int64 -# if defined(_WIN64) +# if defined(_SSIZE_T_DEFINED) +# define __LA_SSIZE_T ssize_t +# elif defined(_WIN64) # define __LA_SSIZE_T __int64 # else # define __LA_SSIZE_T long # endif -#define __LA_UID_T short -#define __LA_GID_T short -#else -#if defined(__BORLANDC__) -#include +# if defined(__BORLANDC__) +# define __LA_UID_T uid_t +# define __LA_GID_T gid_t +# else +# define __LA_UID_T short +# define __LA_GID_T short +# endif #else #include /* ssize_t, uid_t, and gid_t */ -#endif -#if defined(__BORLANDC__) && !defined(HAVE_SYS_TYPES_H) -#define __LA_INT64_T __int64 -#define __LA_SSIZE_T long -#else #define __LA_INT64_T int64_t #define __LA_SSIZE_T ssize_t -#endif #define __LA_UID_T uid_t #define __LA_GID_T gid_t #endif diff --git a/Utilities/cmlibarchive/libarchive/archive_entry.h b/Utilities/cmlibarchive/libarchive/archive_entry.h index b1e24c271..01a05af0a 100644 --- a/Utilities/cmlibarchive/libarchive/archive_entry.h +++ b/Utilities/cmlibarchive/libarchive/archive_entry.h @@ -46,23 +46,22 @@ /* Get appropriate definitions of standard POSIX-style types. */ /* These should match the types used in 'struct stat' */ -#if defined(_WIN32) && !defined(__CYGWIN__) && !defined(__BORLANDC__) +#if defined(_WIN32) && !defined(__CYGWIN__) #define __LA_INT64_T __int64 -#define __LA_UID_T short -#define __LA_GID_T short -#define __LA_DEV_T unsigned int -#define __LA_MODE_T unsigned short -#else -#ifdef __BORLANDC__ -# include +# if defined(__BORLANDC__) +# define __LA_UID_T uid_t +# define __LA_GID_T gid_t +# define __LA_DEV_T dev_t +# define __LA_MODE_T mode_t +# else +# define __LA_UID_T short +# define __LA_GID_T short +# define __LA_DEV_T unsigned int +# define __LA_MODE_T unsigned short +# endif #else # include -#endif -#if defined(__BORLANDC__) && !defined(HAVE_SYS_TYPES_H) -#define __LA_INT64_T __int64 -#else #define __LA_INT64_T int64_t -#endif #define __LA_UID_T uid_t #define __LA_GID_T gid_t #define __LA_DEV_T dev_t