add helper to purge directories recursively

This commit is contained in:
Axel Kohlmeyer
2024-08-09 18:29:38 -04:00
parent d4b6bce4af
commit 658cadceea
2 changed files with 21 additions and 0 deletions

View File

@ -13,6 +13,7 @@
#include "helpers.h"
#include <QDir>
#include <QFile>
#include <QFileInfo>
#include <QProcess>
@ -66,6 +67,23 @@ bool has_exe(const QString &exe)
return false; // Not found!
}
// recursively remove all contents from a directory
void purge_directory(const QString &dir)
{
QDir directory(dir);
directory.setFilter(QDir::AllEntries | QDir::NoDotAndDotDot);
const auto &entries = directory.entryList();
for (auto &entry : entries) {
if (!directory.remove(entry)) {
directory.cd(entry);
directory.removeRecursively();
directory.cdUp();
}
}
}
// Local Variables:
// c-basic-offset: 4
// End:

View File

@ -25,6 +25,9 @@ extern char *mystrdup(const QString &text);
// find if executable is in path
extern bool has_exe(const QString &exe);
// recursively purge a directory
extern void purge_directory(const QString &dir);
#endif
// Local Variables:
// c-basic-offset: 4