extern int log_before_transfer;
extern int log_format_has_i;
extern int daemon_log_format_has_i;
-extern int delete_after;
extern int csum_length;
extern int read_batch;
extern int batch_gen_fd;
extern struct filter_list_struct server_filter_list;
-
-/* This deletes any files on the receiving side that are not present on the
- * sending side. This is used by --delete-before and --delete-after. */
-void delete_files(struct file_list *flist)
-{
- char fbuf[MAXPATHLEN];
- int j;
-
- for (j = 0; j < flist->count; j++) {
- struct file_struct *file = flist->files[j];
-
- if (!(file->flags & FLAG_DEL_HERE))
- continue;
-
- f_name_to(file, fbuf);
- if (verbose > 1 && file->flags & FLAG_TOP_DIR)
- rprintf(FINFO, "deleting in %s\n", safe_fname(fbuf));
-
- delete_in_dir(flist, fbuf, file);
- }
-}
-
#define SLOT_SIZE (16*1024) /* Desired size in bytes */
#define PER_SLOT_BITS (SLOT_SIZE * 8) /* Number of bits per slot */
#define PER_SLOT_INTS (SLOT_SIZE / 4) /* Number of int32s per slot */
}
if (i < 0 || i >= flist->count) {
+ /* Handle the new keep-alive (no-op) packet. */
+ if (i == flist->count && protocol_version >= 29
+ && read_shortint(f_in) == ITEM_IS_NEW)
+ continue;
rprintf(FERROR,"Invalid file index %d in recv_files (count=%d)\n",
i, flist->count);
exit_cleanup(RERR_PROTOCOL);
}
}
- if (delete_after && !local_name && flist->count > 0)
- delete_files(flist);
-
if (verbose > 2)
rprintf(FINFO,"recv_files finished\n");