Put 3 flist_struct items into a union: rdev, sum, and link (all
authorWayne Davison <wayned@samba.org>
Sun, 11 Jan 2004 07:28:23 +0000 (07:28 +0000)
committerWayne Davison <wayned@samba.org>
Sun, 11 Jan 2004 07:28:23 +0000 (07:28 +0000)
mutually exclusive based on mode).  Based on an idea by J.W.

rsync.h

diff --git a/rsync.h b/rsync.h
index 10c128e..e0fb182 100644 (file)
--- a/rsync.h
+++ b/rsync.h
@@ -375,20 +375,18 @@ struct file_struct {
        time_t modtime;
        OFF_T length;
        mode_t mode;
-
        INO64_T inode;
-       /** Device this file lives upon */
        DEV64_T dev;
-
-       /** If this is a device node, the device number. */
-       DEV64_T rdev;
+       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;
        char *basename;
        char *dirname;
        char *basedir;
-       char *link;
-       char *sum;
        unsigned short flags;
 };