memcpy(bp, basename, basename_len);
bp += basename_len;
-#ifdef HAVE_STRUCT_STAT_ST_RDEV
+#if HAVE_STRUCT_STAT_ST_RDEV
if (preserve_devices && IS_DEVICE(st.st_mode))
file->u.rdev = st.st_rdev;
#endif
char lastpath[MAXPATHLEN] = "";
struct file_list *flist;
BOOL need_first_push = True;
+ struct timeval start_tv, end_tv;
int64 start_write;
int use_ff_fd = 0;
start_filelist_progress("building file list");
start_write = stats.total_written;
+ gettimeofday(&start_tv, NULL);
flist = flist_new(f == -1 ? WITHOUT_HLINK : WITH_HLINK,
"send_file_list");
}
if (f != -1) {
+ gettimeofday(&end_tv, NULL);
+ stats.flist_buildtime =
+ (int64)(end_tv.tv_sec - start_tv.tv_sec) * 1000
+ + (end_tv.tv_usec - start_tv.tv_usec) / 1000;
+ if (stats.flist_buildtime == 0)
+ stats.flist_buildtime = 1;
+ start_tv = end_tv;
+
send_file_entry(NULL, f, 0);
if (show_filelist_p())
finish_filelist_progress(flist);
+
+ gettimeofday(&end_tv, NULL);
+ stats.flist_xfertime =
+ (int64)(end_tv.tv_sec - start_tv.tv_sec) * 1000
+ + (end_tv.tv_usec - start_tv.tv_usec) / 1000;
}
if (flist->hlink_pool) {
safe_fname(f));
}
} else {
- delete_file(f, S_ISDIR(mode)
- ? DEL_DIR | DEL_RECURSE : 0);
+ int dflags = delete_during
+ ? DEL_DIR | DEL_FORCE_RECURSE
+ : DEL_DIR | DEL_NO_RECURSE;
+ delete_file(f, S_ISDIR(mode) ? dflags : 0);
}
deletion_count++;
}