diff options
Diffstat (limited to 'src/repo.c')
| -rw-r--r-- | src/repo.c | 36 |
1 files changed, 27 insertions, 9 deletions
@@ -7,7 +7,8 @@ #include "stdio.h" #include <lua.h> -int repo_check_package(pow_repo **repos, size_t repo_count, const char *query) { +int pow_repo_get_package(pow_repo **repos, size_t repo_count, pow_package *pkg, + const char *query) { if (!repos) { printf("no repos defined in your config, please define them\n"); @@ -21,7 +22,7 @@ int repo_check_package(pow_repo **repos, size_t repo_count, const char *query) { char *package_path = malloc(PATH_MAX); if (!package_path) { - printf("failed to allocate package_path, sizeof %zu\n", PATH_MAX); + printf("failed to allocate package_path, sizeof %d\n", PATH_MAX); return 1; } @@ -49,18 +50,35 @@ int repo_check_package(pow_repo **repos, size_t repo_count, const char *query) { printf("found package %s in repo %s\n", query, repos[i]->path); - pow_package *pkg = malloc(sizeof(pow_package)); + pow_package_open(pkg, "./testing/samurai/1.3.lua"); - package_open(pkg, "./testing/samurai/1.3.lua"); + closedir(dp); + } - printf("Name: %s\n" - "Version: %s\n", - pkg->name, pkg->version); + return 0; +} - package_close(pkg); +int pow_repo_check_package(pow_repo **repos, size_t repo_count, + const char *query) { + int err; - closedir(dp); + pow_package *pkg = malloc(sizeof(pow_package)); + + if (!pkg) { + printf("failed to malloc pow_package\n"); + + return 1; + } + + err = pow_repo_get_package(repos, repo_count, pkg, query); + + if (err) { + return 1; } + printf("Name: %s\n" + "Version: %s\n", + pkg->name, pkg->version); + return 0; } |
