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
- Got rid of unused pstring/P_GSTRING/P_SEP/P_SEPARATOR code.
[rsync/rsync.git]
/
flist.c
diff --git
a/flist.c
b/flist.c
index
1c7385c
..
2d17bf7
100644
(file)
--- a/
flist.c
+++ b/
flist.c
@@
-66,6
+66,7
@@
extern int sanitize_paths;
extern int munge_symlinks;
extern int need_unsorted_flist;
extern int output_needs_newline;
extern int munge_symlinks;
extern int need_unsorted_flist;
extern int output_needs_newline;
+extern int sender_keeps_checksum;
extern int unsort_ndx;
extern struct stats stats;
extern char *filesfrom_host;
extern int unsort_ndx;
extern struct stats stats;
extern char *filesfrom_host;
@@
-688,7
+689,7
@@
static struct file_struct *recv_file_entry(struct file_list *flist,
xbuf outbuf, inbuf;
INIT_CONST_XBUF(outbuf, thisname);
xbuf outbuf, inbuf;
INIT_CONST_XBUF(outbuf, thisname);
- INIT_XBUF(inbuf, lastname, basename_len, -1);
+ INIT_XBUF(inbuf, lastname, basename_len,
(size_t)
-1);
if (iconvbufs(ic_recv, &inbuf, &outbuf, 0) < 0) {
io_error |= IOERR_GENERAL;
if (iconvbufs(ic_recv, &inbuf, &outbuf, 0) < 0) {
io_error |= IOERR_GENERAL;
@@
-1209,6
+1210,12
@@
struct file_struct *make_file(const char *fname, struct file_list *flist,
extra_len += EXTRA_LEN;
#endif
extra_len += EXTRA_LEN;
#endif
+ if (always_checksum && am_sender && S_ISREG(st.st_mode)) {
+ file_checksum(thisname, tmp_sum, st.st_size);
+ if (sender_keeps_checksum)
+ extra_len += SUM_EXTRA_CNT * EXTRA_LEN;
+ }
+
#if EXTRA_ROUNDING > 0
if (extra_len & (EXTRA_ROUNDING * EXTRA_LEN))
extra_len = (extra_len | (EXTRA_ROUNDING * EXTRA_LEN)) + EXTRA_LEN;
#if EXTRA_ROUNDING > 0
if (extra_len & (EXTRA_ROUNDING * EXTRA_LEN))
extra_len = (extra_len | (EXTRA_ROUNDING * EXTRA_LEN)) + EXTRA_LEN;
@@
-1272,9
+1279,6
@@
struct file_struct *make_file(const char *fname, struct file_list *flist,
memcpy(bp + basename_len, linkname, linkname_len);
#endif
memcpy(bp + basename_len, linkname, linkname_len);
#endif
- if (always_checksum && am_sender && S_ISREG(st.st_mode))
- file_checksum(thisname, tmp_sum, st.st_size);
-
if (am_sender)
F_PATHNAME(file) = pathname;
else if (!pool)
if (am_sender)
F_PATHNAME(file) = pathname;
else if (!pool)
@@
-1305,6
+1309,9
@@
struct file_struct *make_file(const char *fname, struct file_list *flist,
return NULL;
}
return NULL;
}
+ if (sender_keeps_checksum && S_ISREG(st.st_mode))
+ memcpy(F_SUM(file), tmp_sum, checksum_len);
+
if (unsort_ndx)
F_NDX(file) = dir_count;
if (unsort_ndx)
F_NDX(file) = dir_count;
@@
-2432,7
+2439,7
@@
struct file_list *flist_new(int flags, char *msg)
if (flags & FLIST_TEMP) {
if (!(flist->file_pool = pool_create(SMALL_EXTENT, 0,
out_of_memory,
if (flags & FLIST_TEMP) {
if (!(flist->file_pool = pool_create(SMALL_EXTENT, 0,
out_of_memory,
- POOL_INTERN
|POOL_QALIGN
)))
+ POOL_INTERN)))
out_of_memory(msg);
} else {
/* This is a doubly linked list with prev looping back to
out_of_memory(msg);
} else {
/* This is a doubly linked list with prev looping back to
@@
-2440,7
+2447,7
@@
struct file_list *flist_new(int flags, char *msg)
if (!first_flist) {
flist->file_pool = pool_create(NORMAL_EXTENT, 0,
out_of_memory,
if (!first_flist) {
flist->file_pool = pool_create(NORMAL_EXTENT, 0,
out_of_memory,
- POOL_INTERN
|POOL_QALIGN
);
+ POOL_INTERN);
if (!flist->file_pool)
out_of_memory(msg);
if (!flist->file_pool)
out_of_memory(msg);