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
added a replacement inet_aton() for systems that don't have it.
[rsync/rsync.git]
/
receiver.c
diff --git
a/receiver.c
b/receiver.c
index
49d1bf2
..
9621578
100644
(file)
--- a/
receiver.c
+++ b/
receiver.c
@@
-303,6
+303,7
@@
int recv_files(int f_in,struct file_list *flist,char *local_name,int f_gen)
int phase=0;
int recv_ok;
extern struct stats stats;
int phase=0;
int recv_ok;
extern struct stats stats;
+ extern int preserve_perms;
struct stats initial_stats;
if (verbose > 2) {
struct stats initial_stats;
if (verbose > 2) {
@@
-383,6
+384,13
@@
int recv_files(int f_in,struct file_list *flist,char *local_name,int f_gen)
continue;
}
continue;
}
+ if (fd1 != -1 && !preserve_perms) {
+ /* if the file exists already and we aren't perserving
+ presmissions then act as though the remote end sent
+ us the file permissions we already have */
+ file->mode = st.st_mode;
+ }
+
if (fd1 != -1 && st.st_size > 0) {
buf = map_file(fd1,st.st_size);
if (verbose > 2)
if (fd1 != -1 && st.st_size > 0) {
buf = map_file(fd1,st.st_size);
if (verbose > 2)