* with this program; if not, write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
-#define _GNU_SOURCE
-#include <babeltrace/context.h>
-#include <babeltrace/iterator.h>
+#include <unistd.h>
+#include <stdio.h>
+#include <dirent.h>
+#include <ftw.h>
-struct bt_context *create_context_with_path(const char *path)
-{
- struct bt_context *ctx;
- int ret;
+#define RMDIR_NFDOPEN 8
- ctx = bt_context_create();
- if (!ctx) {
- return NULL;
+static
+int nftw_recursive_rmdir(const char *file, const struct stat *sb, int flag,
+ struct FTW *s)
+{
+ switch (flag) {
+ case FTW_F:
+ unlink(file);
+ break;
+ case FTW_DP:
+ rmdir(file);
+ break;
}
- ret = bt_context_add_trace(ctx, path, "ctf", NULL, NULL, NULL);
- if (ret < 0) {
- bt_context_put(ctx);
- return NULL;
- }
- return ctx;
+ return 0;
+}
+
+void recursive_rmdir(const char *path)
+{
+ int nftw_flags = FTW_PHYS | FTW_DEPTH;
+
+ nftw(path, nftw_recursive_rmdir, RMDIR_NFDOPEN, nftw_flags);
}