X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/blobdiff_plain/1164f67827291cc3eec74738cb2cdd12e287f815..f8057304930f9c6dcb7fca57f3c25cc2c09b3c1d:/rsync.h diff --git a/rsync.h b/rsync.h index 87c969c9..6dc5a9c5 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) @@ -340,12 +340,13 @@ enum msgcode { #define uint32 unsigned int32 #endif -#if SIZEOF_OFF64_T && HAVE_STRUCT_STAT64 -#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 @@ -472,9 +473,12 @@ struct file_struct { char *link; /* Points to symlink string, if a symlink */ } u; OFF_T length; - char *basename; - char *dirname; - char *basedir; + char *basename; /* The current item's name (AKA filename) */ + char *dirname; /* The directory info inside the transfer */ + union { + char *root; /* Sender-side dir info outside transfer */ + int depth; /* Receiver-side directory depth info */ + } dir; union { struct idev *idev; struct hlink *links; @@ -514,6 +518,7 @@ struct file_list { alloc_pool_t hlink_pool; int count; int malloced; + int low, high; }; #define SUMFLG_SAME_OFFSET (1<<0) @@ -593,15 +598,6 @@ struct stats { }; -/* we need this function because of the silly way in which duplicate - entries are handled in the file lists - we can't change this - without breaking existing versions */ -static inline int flist_up(struct file_list *flist, int i) -{ - while (!flist->files[i]->basename) i++; - return i; -} - #include "byteorder.h" #include "lib/mdfour.h" #include "lib/wildmatch.h"