From b069db6a8b7f7a28ef9f54a18a99b76e6566740b Mon Sep 17 00:00:00 2001 From: Donald Buczek Date: Tue, 23 Aug 2022 07:59:47 +0200 Subject: [PATCH] Fix missing deletion of CLEAN_DIR directories The actual deletion of directories which where added to CLEAN_DIRS by out_of_the_way() is missing in the code: buczek@theinternet:~/git/cmirror (fix-printf-formats)$ rm -rf /scratch/local/a buczek@theinternet:~/git/cmirror (fix-printf-formats)$ rm -rf /scratch/local/b buczek@theinternet:~/git/cmirror (fix-printf-formats)$ mkdir /scratch/local/a buczek@theinternet:~/git/cmirror (fix-printf-formats)$ touch /scratch/local/a/test buczek@theinternet:~/git/cmirror (fix-printf-formats)$ mkdir /scratch/local/b buczek@theinternet:~/git/cmirror (fix-printf-formats)$ mkdir /scratch/local/b/test buczek@theinternet:~/git/cmirror (fix-printf-formats)$ cmirror --delete /scratch/local/a /scratch/local/b theinternet.molgen.mpg.de: creating empty ./test theinternet.molgen.mpg.de: rm -r ./test.deleteme theinternet.molgen.mpg.de: fix directory mtime of . -> 1661234914 buczek@theinternet:~/git/cmirror (fix-printf-formats)$ find /scratch/local/b /scratch/local/b /scratch/local/b/test.deleteme /scratch/local/b/test Add call to remove directory. --- cmirror.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/cmirror.c b/cmirror.c index c16e58a..575f291 100644 --- a/cmirror.c +++ b/cmirror.c @@ -915,8 +915,10 @@ static void slave(char *slave_path) { } GSList *d = CLEAN_DIRS; while (d) { + char *path = (char *)d->data; if (!quiet) - warn("rm -r %s\n", (char *)d->data); + warn("rm -r %s\n", path); + fileop_rmdir_recurse(path); d = d->next; } }