From 88a7fb3edde766e1a971d977b1e97ddf5bb05372 Mon Sep 17 00:00:00 2001 From: Wayne Davison Date: Sun, 11 Jan 2004 07:55:53 +0000 Subject: [PATCH] Moved the inode & dev items out of the flist_struct. Based on a preliminary patch by J.W. --- rsync.h | 24 +++++++++++++++++++----- 1 file changed, 19 insertions(+), 5 deletions(-) diff --git a/rsync.h b/rsync.h index e0fb1827..d615f1a9 100644 --- a/rsync.h +++ b/rsync.h @@ -371,26 +371,40 @@ enum logcode {FNONE=0, FERROR=1, FINFO=2, FLOG=3 }; #define GID_NONE (gid_t) -1 +struct hlink { + struct file_struct *head; + struct file_struct *next; +}; + +struct idev { + INO64_T inode; + DEV64_T dev; +}; + +#define F_DEV link_u.idev->dev +#define F_INODE link_u.idev->inode + struct file_struct { time_t modtime; OFF_T length; mode_t mode; - INO64_T inode; - DEV64_T dev; union { DEV64_T rdev; /* The device number, if this is a device */ char *sum; /* Only a normal file can have a checksum */ char *link; /* Holds symlink string, if a symlink */ } u; - uid_t uid; - gid_t gid; + union { + struct idev *idev; + struct hlink *links; + } link_u; char *basename; char *dirname; char *basedir; + uid_t uid; + gid_t gid; unsigned short flags; }; - #define ARENA_SIZE (32 * 1024) struct string_area { -- 2.34.1