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
Make sure that keep_dirlinks is turned off for the sender.
[rsync/rsync.git]
/
generator.c
diff --git
a/generator.c
b/generator.c
index
9cbfe75
..
93587f6
100644
(file)
--- a/
generator.c
+++ b/
generator.c
@@
-294,7
+294,7
@@
void recv_generator(char *fname, struct file_struct *file, int i, int f_out)
return;
}
return;
}
- statret = link_stat(fname,
&st
);
+ statret = link_stat(fname,
&st, keep_dirlinks && S_ISDIR(file->mode)
);
if (only_existing && statret == -1 && errno == ENOENT) {
/* we only want to update existing files */
if (only_existing && statret == -1 && errno == ENOENT) {
/* we only want to update existing files */
@@
-303,15
+303,6
@@
void recv_generator(char *fname, struct file_struct *file, int i, int f_out)
return;
}
return;
}
-#if SUPPORT_LINKS
- if (statret == 0 && keep_dirlinks
- && S_ISLNK(st.st_mode) && S_ISDIR(file->mode)) {
- STRUCT_STAT st2;
- if (do_stat(fname, &st2) == 0 && S_ISDIR(st2.st_mode))
- st = st2;
- }
-#endif
-
if (statret == 0 &&
!preserve_perms &&
(S_ISDIR(st.st_mode) == S_ISDIR(file->mode))) {
if (statret == 0 &&
!preserve_perms &&
(S_ISDIR(st.st_mode) == S_ISDIR(file->mode))) {
@@
-438,7
+429,7
@@
void recv_generator(char *fname, struct file_struct *file, int i, int f_out)
/* try the file at compare_dest instead */
int saveerrno = errno;
pathjoin(fnamecmpbuf, sizeof fnamecmpbuf, compare_dest, fname);
/* try the file at compare_dest instead */
int saveerrno = errno;
pathjoin(fnamecmpbuf, sizeof fnamecmpbuf, compare_dest, fname);
- statret = link_stat(fnamecmpbuf,
&st
);
+ statret = link_stat(fnamecmpbuf,
&st, 0
);
if (!S_ISREG(st.st_mode))
statret = -1;
if (statret == -1)
if (!S_ISREG(st.st_mode))
statret = -1;
if (statret == -1)