summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDan McGee <dan@archlinux.org>2011-06-07 21:42:47 -0500
committerDan McGee <dan@archlinux.org>2011-06-13 19:41:37 -0500
commit8be4db8caf8e534afe7ebea1eb913b34b2414a43 (patch)
treef3f9da73b79231e481535bb43cbb7abb2fd1f63f
parentf6700d5c9830cc2493d8448bd7af8ab7d649e8e6 (diff)
downloadpacman-8be4db8caf8e534afe7ebea1eb913b34b2414a43.tar.xz
Add a helper method for retrieving the DB signature path
Note that is a bit different than the normal _alpm_db_path() method; the caller is expected to free the result. Signed-off-by: Dan McGee <dan@archlinux.org>
-rw-r--r--lib/libalpm/db.c14
-rw-r--r--lib/libalpm/db.h1
2 files changed, 15 insertions, 0 deletions
diff --git a/lib/libalpm/db.c b/lib/libalpm/db.c
index 8ffd17ef..5b272eac 100644
--- a/lib/libalpm/db.c
+++ b/lib/libalpm/db.c
@@ -379,6 +379,20 @@ int _alpm_db_version(pmdb_t *db)
return db->ops->version(db);
}
+char *_alpm_db_sig_path(pmdb_t *db)
+{
+ char *sigpath;
+ size_t len;
+ const char *dbfile = _alpm_db_path(db);
+ if(!db || !dbfile) {
+ return NULL;
+ }
+ len = strlen(dbfile) + strlen(".sig") + 1;
+ CALLOC(sigpath, len, sizeof(char), RET_ERR(db->handle, PM_ERR_MEMORY, NULL));
+ sprintf(sigpath, "%s.sig", dbfile);
+ return sigpath;
+}
+
int _alpm_db_cmp(const void *d1, const void *d2)
{
pmdb_t *db1 = (pmdb_t *)d1;
diff --git a/lib/libalpm/db.h b/lib/libalpm/db.h
index 9ecf31f7..e3faeeb4 100644
--- a/lib/libalpm/db.h
+++ b/lib/libalpm/db.h
@@ -72,6 +72,7 @@ struct __pmdb_t {
pmdb_t *_alpm_db_new(const char *treename, int is_local);
void _alpm_db_free(pmdb_t *db);
const char *_alpm_db_path(pmdb_t *db);
+char *_alpm_db_sig_path(pmdb_t *db);
int _alpm_db_version(pmdb_t *db);
int _alpm_db_cmp(const void *d1, const void *d2);
alpm_list_t *_alpm_db_search(pmdb_t *db, const alpm_list_t *needles);