From f26b7ff8a83e93c073598120d0870b885672ca22 Mon Sep 17 00:00:00 2001 From: Jack Jamison Date: Sat, 25 Jul 2026 15:18:41 -0400 Subject: absolute paths to allow building --- snag/src/package_db.c | 22 +++++++++------------- 1 file changed, 9 insertions(+), 13 deletions(-) (limited to 'snag/src/package_db.c') diff --git a/snag/src/package_db.c b/snag/src/package_db.c index 036e284..a04c47b 100644 --- a/snag/src/package_db.c +++ b/snag/src/package_db.c @@ -1,4 +1,6 @@ #include "package_db.h" + +#include "cfg.h" #include "util.h" #include @@ -8,12 +10,6 @@ #include #include -#define PKG_INFO_CMD "./scripts/get_pkg_attrs.sh" - -// note: fixed location of package database for now -const char pkg_db[] = "./var/snag/packages"; -const size_t pkg_db_len = sizeof(pkg_db) - 1; - bool load_package_info(char* pkgid, package_info_t* info) { memset(info, 0, sizeof(*info)); @@ -21,12 +17,12 @@ bool load_package_info(char* pkgid, package_info_t* info) { // construct package description directory path and ensure it exists // pkg_dir = "pkg_db/pkgid" - size_t pkg_dir_len = pkg_db_len + pkgid_len + 1; + size_t pkg_dir_len = cfg.package_db_len + pkgid_len + 1; char* pkg_dir = emalloc(pkg_dir_len + 1, "pkg_dir"); { - memcpy(pkg_dir, pkg_db, pkg_db_len); - pkg_dir[pkg_db_len] = '/'; - memcpy(pkg_dir + pkg_db_len + 1, pkgid, pkgid_len); + memcpy(pkg_dir, cfg.package_db, cfg.package_db_len); + pkg_dir[cfg.package_db_len] = '/'; + memcpy(pkg_dir + cfg.package_db_len + 1, pkgid, pkgid_len); pkg_dir[pkg_dir_len] = '\0'; if (access(pkg_dir, F_OK) != 0) { print("Package '%s' not found\n", pkgid); @@ -66,11 +62,11 @@ bool load_package_info(char* pkgid, package_info_t* info) { dup2(pipefds[1], STDOUT_FILENO); close(pipefds[1]); // exec into get attr script - char* argv[] = { PKG_INFO_CMD, info->script_path, NULL }; + char* argv[] = { cfg.get_package_info_script, info->script_path, NULL }; char* envp[] = { NULL }; - execve(PKG_INFO_CMD, argv, envp); + execve(cfg.get_package_info_script, argv, envp); // what are you still doing here? - die("CHILD - execve to %s failed: %s", PKG_INFO_CMD, strerror(errno)); + die("CHILD - execve to %s failed: %s", cfg.get_package_info_script, strerror(errno)); } else { // parent proc, close write end of pipe close(pipefds[1]); -- cgit v1.2.3