aboutsummaryrefslogtreecommitdiffstats
path: root/rsync.c
diff options
context:
space:
mode:
authorWayne Davison <wayned@samba.org>2008-02-18 14:10:13 -0800
committerWayne Davison <wayned@samba.org>2008-02-18 15:57:59 -0800
commit1ed56a05c26b6cb6f3891ce16be89aeab388a293 (patch)
tree52afcc200e3f4f3ba65b28afc95009bccfcbb885 /rsync.c
parent28fb6365d096cf1e7125cde322c92c1b80b4ecee (diff)
downloadandroid_external_rsync-1ed56a05c26b6cb6f3891ce16be89aeab388a293.tar.gz
android_external_rsync-1ed56a05c26b6cb6f3891ce16be89aeab388a293.tar.bz2
android_external_rsync-1ed56a05c26b6cb6f3891ce16be89aeab388a293.zip
Extended the protocol-30 info-passing code at startup, and use it to
tell the client if the server can set the times on a symlink (both the server->client byte and the client->server use of -e). Make use of this info to allow the proper output of the 't' flag when rsync can set the time on a symlink (and we're talking protocol >= 30). Added output of "[no] symtimes" info in the --version message. Fixed the itemize.test so that it works when rsync believes that it can set the time of a symlink, but it can't really do it.
Diffstat (limited to 'rsync.c')
-rw-r--r--rsync.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/rsync.c b/rsync.c
index 818b3ee2..b0042f7a 100644
--- a/rsync.c
+++ b/rsync.c
@@ -399,6 +399,8 @@ int set_file_attrs(const char *fname, struct file_struct *file, stat_x *sxp,
}
if (ret == 0) /* ret == 1 if symlink could not be set */
updated = 1;
+ else
+ file->flags |= FLAG_TIME_FAILED;
}
change_uid = am_root && uid_ndx && sxp->st.st_uid != (uid_t)F_OWNER(file);