From: Andrew Tridgell Date: Thu, 28 May 1998 05:05:26 +0000 (+0000) Subject: don't do recursive deletion if the recurse option is not selected. X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/commitdiff_plain/05848a2cc797b777473023b0dff6bba62668dc78 don't do recursive deletion if the recurse option is not selected. --- diff --git a/rsync.c b/rsync.c index 555c009a..f41029be 100644 --- a/rsync.c +++ b/rsync.c @@ -74,6 +74,7 @@ static int delete_file(char *fname) extern int force_delete; STRUCT_STAT st; int ret; + extern int recurse; if (do_unlink(fname) == 0 || errno == ENOENT) return 0; @@ -93,7 +94,8 @@ static int delete_file(char *fname) } if (do_rmdir(fname) == 0 || errno == ENOENT) return 0; - if (!force_delete || (errno != ENOTEMPTY && errno != EEXIST)) { + if (!force_delete || !recurse || + (errno != ENOTEMPTY && errno != EEXIST)) { rprintf(FERROR,"rmdir(%s) : %s\n", fname, strerror(errno)); return -1; }