From 566fce323799d3ff6111e0cc06a2381f5345f7fc Mon Sep 17 00:00:00 2001 From: Wayne Davison Date: Fri, 11 Jun 2004 07:40:48 +0000 Subject: [PATCH] Made delete_one() handle a failed rmdir on a symlink when --keep-dirlinks was specified. --- receiver.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/receiver.c b/receiver.c index 5d191482..f39a9e56 100644 --- a/receiver.c +++ b/receiver.c @@ -30,6 +30,7 @@ extern struct stats stats; extern int dry_run; extern int am_server; extern int relative_paths; +extern int keep_dirlinks; extern int preserve_hard_links; extern int preserve_perms; extern int cvs_exclude; @@ -59,6 +60,8 @@ static void delete_one(char *fn, int is_dir) } } else { if (do_rmdir(fn) != 0) { + if (errno == ENOTDIR && keep_dirlinks) + return delete_one(fn, 0); if (errno != ENOTEMPTY && errno != EEXIST) { rsyserr(FERROR, errno, "delete_one: rmdir %s failed", -- 2.34.1