X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/blobdiff_plain/e95538ca2c8fdecd66a112635aa30077419af685..2b1366635dc416420ed2617260aafe17d259ae0f:/rsync.h diff --git a/rsync.h b/rsync.h index 0327f2de..690d5a60 100644 --- a/rsync.h +++ b/rsync.h @@ -113,7 +113,7 @@ #define XFLG_WORD_SPLIT (1<<3) #define XFLG_DIRECTORY (1<<4) #define XFLG_NO_PREFIXES (1<<5) -#define XFLG_ABS_PATH (1<<6) +#define XFLG_ANCHORED2ABS (1<<6) #define PERMS_REPORT (1<<0) #define PERMS_SKIP_MTIME (1<<1) @@ -181,13 +181,6 @@ enum msgcode { #if HAVE_STRINGS_H # include #endif -#if HAVE_INTTYPES_H -# include -#else -# if HAVE_STDINT_H -# include -# endif -#endif #if HAVE_UNISTD_H # include #endif @@ -317,30 +310,43 @@ enum msgcode { #define schar char #endif +/* Find a variable that is either exactly 32-bits or longer. + * If some code depends on 32-bit truncation, it will need to + * take special action in a "#if SIZEOF_INT32 > 4" section. */ #ifndef int32 -#if (SIZEOF_INT == 4) -#define int32 int -#elif (SIZEOF_LONG == 4) -#define int32 long -#elif (SIZEOF_SHORT == 4) -#define int32 short +#if SIZEOF_INT == 4 +# define int32 int +# define SIZEOF_INT32 4 +#elif SIZEOF_LONG == 4 +# define int32 long +# define SIZEOF_INT32 4 +#elif SIZEOF_SHORT == 4 +# define int32 short +# define SIZEOF_INT32 4 +#elif SIZEOF_INT > 4 +# define int32 int +# define SIZEOF_INT32 SIZEOF_INT +#elif SIZEOF_LONG > 4 +# define int32 long +# define SIZEOF_INT32 SIZEOF_LONG #else -/* I hope this works */ -#define int32 int -#define LARGE_INT32 +# error Could not find a 32-bit integer variable #endif +#else +# define SIZEOF_INT32 4 #endif #ifndef uint32 #define uint32 unsigned int32 #endif -#if SIZEOF_OFF64_T -#define OFF_T off64_t -#define STRUCT_STAT struct stat64 -#else +#if SIZEOF_OFF_T == 8 || !SIZEOF_OFF64_T || !HAVE_STRUCT_STAT64 #define OFF_T off_t #define STRUCT_STAT struct stat +#else +#define OFF_T off64_t +#define STRUCT_STAT struct stat64 +#define USE_STAT64_FUNCS 1 #endif /* CAVEAT: on some systems, int64 will really be a 32-bit integer IFF