diff options
Diffstat (limited to 'support')
-rw-r--r-- | support/htcacheclean.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/support/htcacheclean.c b/support/htcacheclean.c index aac1cd61fd..938a8cca57 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; } |