summaryrefslogtreecommitdiffstats
path: root/bfs.c
diff options
context:
space:
mode:
authorTavian Barnes <tavianator@tavianator.com>2015-06-14 18:41:16 -0400
committerTavian Barnes <tavianator@tavianator.com>2015-06-14 18:41:16 -0400
commit72552f880f3ca52c0d98d875b1da783e5a2fa2e7 (patch)
tree595523be25541fc6684184f83d060dd6f4712023 /bfs.c
downloadbfs-72552f880f3ca52c0d98d875b1da783e5a2fa2e7.tar.xz
Implement bftw().
Diffstat (limited to 'bfs.c')
-rw-r--r--bfs.c34
1 files changed, 34 insertions, 0 deletions
diff --git a/bfs.c b/bfs.c
new file mode 100644
index 0000000..e4296e6
--- /dev/null
+++ b/bfs.c
@@ -0,0 +1,34 @@
+/*********************************************************************
+ * bfs *
+ * Copyright (C) 2015 Tavian Barnes <tavianator@tavianator.com> *
+ * *
+ * This program is free software. It comes without any warranty, to *
+ * the extent permitted by applicable law. You can redistribute it *
+ * and/or modify it under the terms of the Do What The Fuck You Want *
+ * To Public License, Version 2, as published by Sam Hocevar. See *
+ * the COPYING file or http://www.wtfpl.net/ for more details. *
+ *********************************************************************/
+
+#include "bftw.h"
+#include <stdio.h>
+#include <stdlib.h>
+
+static int callback(const char *fpath, int typeflag, void *ptr) {
+ printf("%s\n", fpath);
+ return BFTW_CONTINUE;
+}
+
+int main(int argc, char* argv[]) {
+ const char* path = ".";
+ if (argc > 1) {
+ path = argv[1];
+ }
+
+ // TODO: getrlimit(RLIMIT_NOFILE)
+ if (bftw(path, callback, 1024, NULL) != 0) {
+ perror("bftw()");
+ return EXIT_FAILURE;
+ }
+
+ return EXIT_SUCCESS;
+}