libarchive: Fix unconfigured header logic

The commit "libarchive: Fix Borland integer constants" introduced use of
HAVE_* configured macros into archive.h and archive_entry.h where they
are not allowed.  This commit replaces the logic with something that
does not depend on the configured macros.
This commit is contained in:
Brad King 2009-11-04 16:06:44 -05:00
parent 7f5361f040
commit e5075bb8e8
2 changed files with 30 additions and 29 deletions

View File

@ -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 <stdint.h>
#elif !defined(__WATCOMC__) && !defined(_MSC_VER) && !defined(__INTERIX) && !defined(__BORLANDC__)
# define __LA_STDINT_H <inttypes.h>
#endif
#include <sys/stat.h>
#include <sys/types.h> /* 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 <inttypes.h> /* int64_t, etc. */
#ifdef __LA_STDINT_H
# include __LA_STDINT_H /* int64_t, etc. */
#endif
#include <stdio.h> /* 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 <sys/types.h>
# 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 <unistd.h> /* 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

View File

@ -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 <sys/types.h>
# 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 <unistd.h>
#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