[pacman-dev] [PATCH 4/9] Add a helper method for retrieving the DB signature path

Dan McGee dan at archlinux.org
Wed Jun 8 03:51:47 EDT 2011


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 at archlinux.org>
---
 lib/libalpm/db.c |   14 ++++++++++++++
 lib/libalpm/db.h |    1 +
 2 files changed, 15 insertions(+), 0 deletions(-)

diff --git a/lib/libalpm/db.c b/lib/libalpm/db.c
index b2f3762..f26eaae 100644
--- a/lib/libalpm/db.c
+++ b/lib/libalpm/db.c
@@ -378,6 +378,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 9ecf31f..e3faeeb 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);
-- 
1.7.5.2



More information about the pacman-dev mailing list