[pacman-dev] [PATCH 7/9] Add an alpm_db_valid public function

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


Signed-off-by: Dan McGee <dan at archlinux.org>
---
 lib/libalpm/alpm.h |    8 ++++++++
 lib/libalpm/db.c   |    7 +++++++
 2 files changed, 15 insertions(+), 0 deletions(-)

diff --git a/lib/libalpm/alpm.h b/lib/libalpm/alpm.h
index 1e1bfdd..329ffd7 100644
--- a/lib/libalpm/alpm.h
+++ b/lib/libalpm/alpm.h
@@ -307,6 +307,14 @@ const char *alpm_db_get_name(const pmdb_t *db);
  */
 const char *alpm_db_get_url(const pmdb_t *db);
 
+/** Check the validity of a database.
+ * This is most useful for sync databases and verifying signature status.
+ * If invalid, the handle error code will be set accordingly.
+ * @param db pointer to the package database
+ * @return 0 if valid, -1 if invalid (pm_errno is set accordingly)
+ */
+int alpm_db_valid(pmdb_t *db);
+
 /** @name Accessors to the list of servers for a database.
  * @{
  */
diff --git a/lib/libalpm/db.c b/lib/libalpm/db.c
index 508870f..e740acb 100644
--- a/lib/libalpm/db.c
+++ b/lib/libalpm/db.c
@@ -245,6 +245,13 @@ const char SYMEXPORT *alpm_db_get_url(const pmdb_t *db)
 	return url;
 }
 
+/** Check the validity of a database. */
+int SYMEXPORT alpm_db_valid(pmdb_t *db)
+{
+	ASSERT(db != NULL, return -1);
+	db->handle->pm_errno = 0;
+	return db->ops->validate(db);
+}
 
 /** Get a package entry from a package database. */
 pmpkg_t SYMEXPORT *alpm_db_get_pkg(pmdb_t *db, const char *name)
-- 
1.7.5.2



More information about the pacman-dev mailing list