stats.total_size += F_LENGTH(file);
}
-static struct file_struct *recv_file_entry(struct file_list *flist,
- int xflags, int f)
+static struct file_struct *recv_file_entry(int f, struct file_list *flist, int xflags)
{
static int64 modtime;
static mode_t mode;
#ifdef SUPPORT_ACLS
if (preserve_acls && !S_ISLNK(mode))
- receive_acl(file, f);
+ receive_acl(f, file);
#endif
#ifdef SUPPORT_XATTRS
if (preserve_xattrs)
- receive_xattr(file, f );
+ receive_xattr(f, file);
#endif
if (S_ISREG(mode) || S_ISLNK(mode))
#ifdef SUPPORT_ACLS
if (preserve_acls && !S_ISLNK(file->mode)) {
- send_acl(&sx, f);
+ send_acl(f, &sx);
free_acl(&sx);
}
#endif
#ifdef SUPPORT_XATTRS
if (preserve_xattrs) {
- F_XATTR(file) = send_xattr(&sx, f);
+ F_XATTR(file) = send_xattr(f, &sx);
free_xattr(&sx);
}
#endif
if ((send_dir_ndx = DIR_PARENT(dp)) < 0) {
write_ndx(f, NDX_FLIST_EOF);
flist_eof = 1;
+ if (DEBUG_GTE(FLIST, 3))
+ rprintf(FINFO, "[%s] flist_eof=1\n", who_am_i());
change_local_filter_dir(NULL, 0, 0);
goto finish;
}
if (numeric_ids <= 0 && !inc_recurse)
send_id_list(f);
- set_msg_fd_in(-1);
-
/* send the io_error flag */
if (protocol_version < 30)
write_int(f, ignore_errors ? 0 : io_error);
send_msg_int(MSG_IO_ERROR, io_error);
if (disable_buffering)
- io_end_buffering_out();
+ io_end_buffering_out(True);
stats.flist_size = stats.total_written - start_write;
stats.num_files = flist->used;
if (send_dir_ndx < 0) {
write_ndx(f, NDX_FLIST_EOF);
flist_eof = 1;
+ if (DEBUG_GTE(FLIST, 3))
+ rprintf(FINFO, "[%s] flist_eof=1\n", who_am_i());
}
else if (file_total == 1) {
/* If we're creating incremental file-lists and there
* file-list to check if this is a 1-file xfer. */
send_extra_file_list(f, 1);
}
- } else
+ } else {
flist_eof = 1;
+ if (DEBUG_GTE(FLIST, 3))
+ rprintf(FINFO, "[%s] flist_eof=1\n", who_am_i());
+ }
return flist;
}
}
flist_expand(flist, 1);
- file = recv_file_entry(flist, flags, f);
+ file = recv_file_entry(f, flist, flags);
if (S_ISREG(file->mode)) {
/* Already counted */
else if (f >= 0) {
recv_id_list(f, flist);
flist_eof = 1;
+ if (DEBUG_GTE(FLIST, 3))
+ rprintf(FINFO, "[%s] flist_eof=1\n", who_am_i());
}
flist_sort_and_clean(flist, relative_paths);
int ndx = read_ndx(f);
if (ndx == NDX_FLIST_EOF) {
flist_eof = 1;
+ if (DEBUG_GTE(FLIST, 3))
+ rprintf(FINFO, "[%s] flist_eof=1\n", who_am_i());
change_local_filter_dir(NULL, 0, 0);
} else {
ndx = NDX_FLIST_OFFSET - ndx;