aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWayne Davison <wayned@samba.org>2015-07-12 13:25:37 -0700
committerWayne Davison <wayned@samba.org>2015-07-12 13:26:01 -0700
commitdfbcc4f7ec2aed14e87ef2ac5a4f12d2a96ffe56 (patch)
treef9727bf81e60ad2f5796fce9ccc9be17ec367054
parent0bcb8b639af6ede0f28de16a5ef3f00b4153dc2b (diff)
downloadandroid_external_rsync-dfbcc4f7ec2aed14e87ef2ac5a4f12d2a96ffe56.tar.gz
android_external_rsync-dfbcc4f7ec2aed14e87ef2ac5a4f12d2a96ffe56.tar.bz2
android_external_rsync-dfbcc4f7ec2aed14e87ef2ac5a4f12d2a96ffe56.zip
Avoid --remove-sent-file issue for non-regular files.
-rw-r--r--sender.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/sender.c b/sender.c
index 5adc2fd8..d20ff4e1 100644
--- a/sender.c
+++ b/sender.c
@@ -143,11 +143,12 @@ void successful_send(int ndx)
goto failed;
}
- if (st.st_size != F_LENGTH(file) || st.st_mtime != file->modtime
+ if (S_ISREG(file->mode) /* Symlinks & devices don't need this check: */
+ && (st.st_size != F_LENGTH(file) || st.st_mtime != file->modtime
#ifdef ST_MTIME_NSEC
|| (NSEC_BUMP(file) && (uint32)st.ST_MTIME_NSEC != F_MOD_NSEC(file))
#endif
- ) {
+ )) {
rprintf(FERROR_XFER, "ERROR: Skipping sender remove for changed file: %s\n", fname);
return;
}