From: Jean-Frederic Clere Date: Tue, 14 Apr 2020 08:36:54 +0000 (+0000) Subject: PR64313 htcacheclean: Empty directories in CacheRoot are still present even after... X-Git-Tag: 2.5.0-alpha2-ci-test-only~1528 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=6c8663602c9b3b821044a12963a365a030ae8526;p=thirdparty%2Fapache%2Fhttpd.git PR64313 htcacheclean: Empty directories in CacheRoot are still present even after using "-t" git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1876484 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/support/htcacheclean.c b/support/htcacheclean.c index aac1cd61fd0..938a8cca57e 100644 --- a/support/htcacheclean.c +++ b/support/htcacheclean.c @@ -685,9 +685,18 @@ static int process_dir(char *path, apr_pool_t *pool, apr_off_t *nodes) } if (info.filetype == APR_DIR) { + char *dirpath=apr_pstrdup(p, d->basename); if (process_dir(d->basename, pool, nodes)) { return 1; } + /* When given the -t option htcacheclean does not + * delete directories that are already empty, so we'll do that here + * since process_dir checks all the directories. + * If it fails, it likely means there was something else there. + */ + if (deldirs && !dryrun) { + apr_dir_remove(dirpath,p); + } continue; }