aboutsummaryrefslogtreecommitdiff
path: root/src/repo.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/repo.c')
-rw-r--r--src/repo.c36
1 files changed, 27 insertions, 9 deletions
diff --git a/src/repo.c b/src/repo.c
index 49d815d..71a3172 100644
--- a/src/repo.c
+++ b/src/repo.c
@@ -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;
}