aboutsummaryrefslogtreecommitdiff
path: root/src/find.c
diff options
context:
space:
mode:
authordacctal <dacctal@symlinx.net>2026-05-25 10:55:12 +0000
committerdacctal <dacctal@symlinx.net>2026-05-25 10:55:12 +0000
commitd864bf7907c814eef30e906e59b0890df34d311c (patch)
tree93623d63a5d5f77e909d117688202a77342f18de /src/find.c
parent52cc7c1f80eda62f4bd02d5b0cfd6701e0043842 (diff)
'find' will show all installed packages
Diffstat (limited to 'src/find.c')
-rw-r--r--src/find.c23
1 files changed, 23 insertions, 0 deletions
diff --git a/src/find.c b/src/find.c
new file mode 100644
index 0000000..aaeaaa2
--- /dev/null
+++ b/src/find.c
@@ -0,0 +1,23 @@
+#include <dirent.h>
+#include <stdio.h>
+#include <string.h>
+#include <sys/stat.h>
+
+#include "lua_state.h"
+#include "vars.h"
+
+void find() {
+ char* src_code = map_get(&cached_install_directories, "src");
+ struct dirent* dirent_ptr;
+ DIR* dir_ptr = opendir(src_code);
+
+ if (dir_ptr == NULL) {
+ fprintf(stderr, "%scould not open %s\n", print_pkgit, src_code);
+ return;
+ }
+
+ while ((dirent_ptr = readdir(dir_ptr)) != NULL) {
+ if (strcmp(dirent_ptr->d_name, "..") == 0 || strcmp(dirent_ptr->d_name, ".") == 0) { continue; }
+ printf("%s\n", dirent_ptr->d_name);
+ }
+}