X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/blobdiff_plain/fdd71e177db1a15f46d3d3c92c154a1ddc07f9fd..3b3a2fbcf058b90d9116f48ba26ad9528d450134:/rsync.h diff --git a/rsync.h b/rsync.h index 9790c7ce..0b881039 100644 --- a/rsync.h +++ b/rsync.h @@ -146,8 +146,10 @@ #ifdef HAVE_SYS_MODE_H /* apparently AIX needs this for S_ISLNK */ +#ifndef S_ISLNK #include #endif +#endif #ifdef HAVE_FNMATCH #include @@ -161,6 +163,9 @@ #include "lib/getopt.h" #endif +#ifndef S_IFLNK +#define S_IFLNK 0120000 +#endif #ifndef S_ISLNK #define S_ISLNK(mode) (((mode) & S_IFLNK) == S_IFLNK) @@ -243,6 +248,16 @@ struct map_struct { int fd,size,p_size,p_offset,p_len; }; +/* 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 int flist_up(struct file_list *flist, int i) +{ + while (!flist->files[i].name) i++; + return i; +} + + #include "byteorder.h" #include "version.h" #include "proto.h" @@ -285,17 +300,9 @@ extern int errno; #define bzero(buf,n) memset(buf,0,n) #endif -#define SUPPORT_LINKS (HAVE_READLINK && defined(S_ISLNK)) +#define SUPPORT_LINKS HAVE_READLINK #define SUPPORT_HARD_LINKS HAVE_LINK -#ifndef S_ISLNK -#define S_ISLNK(x) 0 -#endif - -#if !SUPPORT_LINKS -#define lstat stat -#endif - #ifndef HAVE_LCHOWN #define lchown chown #endif