diff options
Diffstat (limited to 'src/list_pkgs.c')
| -rw-r--r-- | src/list_pkgs.c | 23 |
1 files changed, 17 insertions, 6 deletions
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 <dirent.h> #include <stdio.h> +#include <string.h> +#include <sys/stat.h> -#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 |
