aboutsummaryrefslogtreecommitdiffstats
path: root/sender.c
diff options
context:
space:
mode:
authorWayne Davison <wayned@samba.org>2009-10-13 10:45:23 -0700
committerWayne Davison <wayned@samba.org>2009-10-13 10:45:23 -0700
commit7a7810aa2f14476d319eee537ba69bfe21d3a926 (patch)
treec6fefef38bfb232bd3bb58b29d082f8096771063 /sender.c
parent41000dffc1e98a2f9fb19550f2c6bfc5f6290137 (diff)
downloadandroid_external_rsync-7a7810aa2f14476d319eee537ba69bfe21d3a926.tar.gz
android_external_rsync-7a7810aa2f14476d319eee537ba69bfe21d3a926.tar.bz2
android_external_rsync-7a7810aa2f14476d319eee537ba69bfe21d3a926.zip
Avoid calling send_extra_file_list() when we shouldn't.
Diffstat (limited to 'sender.c')
-rw-r--r--sender.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/sender.c b/sender.c
index e3a896af..f36c41dc 100644
--- a/sender.c
+++ b/sender.c
@@ -32,6 +32,7 @@ extern int logfile_format_has_i;
extern int csum_length;
extern int append_mode;
extern int io_error;
+extern int flist_eof;
extern int allowed_lull;
extern int preserve_xattrs;
extern int protocol_version;
@@ -44,6 +45,8 @@ extern int write_batch;
extern struct stats stats;
extern struct file_list *cur_flist, *first_flist, *dir_flist;
+BOOL extra_flist_sending_enabled;
+
/**
* @file
*
@@ -179,12 +182,16 @@ void send_files(int f_in, int f_out)
rprintf(FINFO, "send_files starting\n");
while (1) {
- if (inc_recurse)
+ if (inc_recurse) {
send_extra_file_list(f_out, MIN_FILECNT_LOOKAHEAD);
+ extra_flist_sending_enabled = !flist_eof;
+ }
/* This call also sets cur_flist. */
ndx = read_ndx_and_attrs(f_in, &iflags, &fnamecmp_type,
xname, &xlen);
+ extra_flist_sending_enabled = False;
+
if (ndx == NDX_DONE) {
if (!am_server && INFO_GTE(PROGRESS, 2) && cur_flist) {
set_current_file_index(NULL, 0);