Fixed a bug in the sending of rdev when the high-bits match.
[rsync.git] / flist.c
diff --git a/flist.c b/flist.c
index 0890f9eb2b0280619466cd157a8c504faa1c60f4..000765617162b83daf0f91e598b70a8df94b422c 100644 (file)
--- a/flist.c
+++ b/flist.c
@@ -367,9 +367,10 @@ void send_file_entry(struct file_struct *file, int f, unsigned short base_flags)
                        } else
                                rdev = 0;
                } else if (IS_DEVICE(mode)) {
-                       if ((file->u.rdev & ~(DEV64_T)0xFF) == rdev_high)
+                       if ((file->u.rdev & ~(DEV64_T)0xFF) == rdev_high) {
                                flags |= XMIT_SAME_HIGH_RDEV;
-                       else {
+                               rdev = file->u.rdev;
+                       } else {
                                rdev = file->u.rdev;
                                rdev_high = rdev & ~(DEV64_T)0xFF;
                        }