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
Don't let --chmod tweak a 0 mode value (which marks a missing arg).
[rsync/rsync.git]
/
flist.c
diff --git
a/flist.c
b/flist.c
index
7d01c9c
..
1c15d8c
100644
(file)
--- a/
flist.c
+++ b/
flist.c
@@
-794,7
+794,7
@@
static struct file_struct *recv_file_entry(struct file_list *flist,
if (!(xflags & XMIT_SAME_MODE))
mode = from_wire_mode(read_int(f));
if (!(xflags & XMIT_SAME_MODE))
mode = from_wire_mode(read_int(f));
- if (chmod_modes && !S_ISLNK(mode))
+ if (chmod_modes && !S_ISLNK(mode)
&& mode
)
mode = tweak_mode(mode, chmod_modes);
if (preserve_uid && !(xflags & XMIT_SAME_UID)) {
mode = tweak_mode(mode, chmod_modes);
if (preserve_uid && !(xflags & XMIT_SAME_UID)) {
@@
-1372,7
+1372,7
@@
static struct file_struct *send_file_name(int f, struct file_list *flist,
if (!file)
return NULL;
if (!file)
return NULL;
- if (chmod_modes && !S_ISLNK(file->mode))
+ if (chmod_modes && !S_ISLNK(file->mode)
&& file->mode
)
file->mode = tweak_mode(file->mode, chmod_modes);
if (f >= 0) {
file->mode = tweak_mode(file->mode, chmod_modes);
if (f >= 0) {