From d8193b7bf893d0c4f3a508dc1eacf44a40cbfef3 Mon Sep 17 00:00:00 2001 From: dacctal Date: Mon, 25 May 2026 13:32:21 +0000 Subject: 'find' will search repo for argument, 'list' will list all installed packages --- src/list_pkgs.c | 23 +++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-) (limited to 'src/list_pkgs.c') diff --git a/src/list_pkgs.c b/src/list_pkgs.c index 5ac293a..5d6fcce 100644 --- a/src/list_pkgs.c +++ b/src/list_pkgs.c @@ -1,12 +1,23 @@ +#include #include +#include +#include -#include "list_pkgs.h" #include "lua_state.h" +#include "vars.h" void list_pkgs() { - init_lua_state(); - cache_repos(); - for (size_t i = 0; i < cached_repos_count; i++) { - printf("%s\n", cached_repos[i].source_key); - } + 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); + } } \ No newline at end of file -- cgit v1.2.3