aboutsummaryrefslogtreecommitdiff
path: root/snag/src/package_db.c
diff options
context:
space:
mode:
Diffstat (limited to 'snag/src/package_db.c')
-rw-r--r--snag/src/package_db.c30
1 files changed, 15 insertions, 15 deletions
diff --git a/snag/src/package_db.c b/snag/src/package_db.c
index a04c47b..f2a105e 100644
--- a/snag/src/package_db.c
+++ b/snag/src/package_db.c
@@ -16,35 +16,35 @@ bool load_package_info(char* pkgid, package_info_t* info) {
size_t pkgid_len = strlen(pkgid);
// construct package description directory path and ensure it exists
- // pkg_dir = "pkg_db/pkgid"
- size_t pkg_dir_len = cfg.package_db_len + pkgid_len + 1;
- char* pkg_dir = emalloc(pkg_dir_len + 1, "pkg_dir");
+ // desc_dir = "pkg_db/pkgid"
+ size_t desc_dir_len = cfg.package_db_len + pkgid_len + 1;
+ info->desc_dir = emalloc(desc_dir_len + 1, "desc_dir");
{
- 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) {
+ memcpy(info->desc_dir, cfg.package_db, cfg.package_db_len);
+ info->desc_dir[cfg.package_db_len] = '/';
+ memcpy(info->desc_dir + cfg.package_db_len + 1, pkgid, pkgid_len);
+ info->desc_dir[desc_dir_len] = '\0';
+ if (access(info->desc_dir, F_OK) != 0) {
print("Package '%s' not found\n", pkgid);
- free(pkg_dir);
+ free(info->desc_dir);
return false;
}
}
// construct package description script path and ensure it exists
- // script_path = "pkg_dir/pkgid.sh"
- size_t script_path_len = pkg_dir_len + pkgid_len + 4;
+ // script_path = "desc_dir/pkgid.sh"
+ size_t script_path_len = desc_dir_len + pkgid_len + 4;
info->script_path = emalloc(script_path_len + 1, "info->script_path");
{
- memcpy(info->script_path, pkg_dir, pkg_dir_len);
- info->script_path[pkg_dir_len] = '/';
- memcpy(&info->script_path[pkg_dir_len + 1], pkgid, pkgid_len);
+ memcpy(info->script_path, info->desc_dir, desc_dir_len);
+ info->script_path[desc_dir_len] = '/';
+ memcpy(&info->script_path[desc_dir_len + 1], pkgid, pkgid_len);
memcpy(&info->script_path[script_path_len - 3], ".sh", 3);
info->script_path[script_path_len] = '\0';
- free(pkg_dir);
if (access(info->script_path, F_OK) != 0) {
print("Package '%s' broken, doesn't have description script\n", pkgid);
free(info->script_path);
+ free(info->desc_dir);
return false;
}
}