Refer to the old basedir variable as dir.root.
[rsync/rsync.git] / rsync.h
diff --git a/rsync.h b/rsync.h
index 0327f2d..690d5a6 100644 (file)
--- a/rsync.h
+++ b/rsync.h
 #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 <strings.h>
 #endif
-#if HAVE_INTTYPES_H
-# include <inttypes.h>
-#else
-# if HAVE_STDINT_H
-#  include <stdint.h>
-# endif
-#endif
 #if HAVE_UNISTD_H
 # include <unistd.h>
 #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