From 462c51d9a1ac30a92150f290cc5c4353e86118b8 Mon Sep 17 00:00:00 2001 From: Wayne Davison Date: Sun, 30 Jan 2005 07:35:13 +0000 Subject: [PATCH] - Restored the io_error test to delete_files(). - Sanity check the dir_list value from send_file_list(). --- receiver.c | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/receiver.c b/receiver.c index 9d1007f9..e129b1dc 100644 --- a/receiver.c +++ b/receiver.c @@ -57,17 +57,24 @@ extern struct filter_list_struct server_filter_list; void delete_files(struct file_list *flist) { struct file_list *dir_list; - char fbuf[MAXPATHLEN]; - char *argv[1]; + char *argv[1], fbuf[MAXPATHLEN]; int j; + if (io_error && !(lp_ignore_errors(module_id) || ignore_errors)) { + rprintf(FINFO, + "IO error encountered - skipping file deletion\n"); + return; + } + for (j = 0; j < flist->count; j++) { if (!(flist->files[j]->flags & FLAG_DEL_START) || !S_ISDIR(flist->files[j]->mode)) continue; argv[0] = f_name_to(flist->files[j], fbuf); - dir_list = send_file_list(-1, 1, argv); + + if (!(dir_list = send_file_list(-1, 1, argv))) + continue; delete_missing(flist, dir_list, fbuf); -- 2.34.1