Matt McCutchen's Web Site
/
rsync
/
rsync.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fixed a bug in the sending of rdev when the high-bits match.
[rsync/rsync.git]
/
flist.c
diff --git
a/flist.c
b/flist.c
index
6a11d0f
..
0007656
100644
(file)
--- a/
flist.c
+++ b/
flist.c
@@
-367,11
+367,12
@@
void send_file_entry(struct file_struct *file, int f, unsigned short base_flags)
} else
rdev = 0;
} else if (IS_DEVICE(mode)) {
} else
rdev = 0;
} else if (IS_DEVICE(mode)) {
- if ((file->u.rdev & ~
0xFF) == rdev_high)
+ if ((file->u.rdev & ~
(DEV64_T)0xFF) == rdev_high) {
flags |= XMIT_SAME_HIGH_RDEV;
flags |= XMIT_SAME_HIGH_RDEV;
- else {
rdev = file->u.rdev;
rdev = file->u.rdev;
- rdev_high = rdev & ~0xFF;
+ } else {
+ rdev = file->u.rdev;
+ rdev_high = rdev & ~(DEV64_T)0xFF;
}
}
}
}
}
}
@@
-594,7
+595,7
@@
void receive_file_entry(struct file_struct **fptr, unsigned short flags,
} else if (IS_DEVICE(mode)) {
if (!(flags & XMIT_SAME_HIGH_RDEV)) {
rdev = (DEV64_T)read_int(f);
} else if (IS_DEVICE(mode)) {
if (!(flags & XMIT_SAME_HIGH_RDEV)) {
rdev = (DEV64_T)read_int(f);
- rdev_high = rdev & ~0xFF;
+ rdev_high = rdev & ~
(DEV64_T)
0xFF;
} else
rdev = rdev_high | (DEV64_T)read_byte(f);
}
} else
rdev = rdev_high | (DEV64_T)read_byte(f);
}