Git-Url: 
http://git.frugalware.org/gitweb/gitweb.cgi?p=pacman-g2.git;a=commitdiff;h=196042f4a956abc8fa12ca2715e6f9d9f53e62ad

commit 196042f4a956abc8fa12ca2715e6f9d9f53e62ad
Author: Michel Hermier <herm...@frugalware.org>
Date:   Wed Nov 13 17:01:32 2013 +0100

libpacman: Add a flag parameter to pmdb_t::open callback.

diff --git a/lib/libpacman/db.c b/lib/libpacman/db.c
index ab6859d..63e6d70 100644
--- a/lib/libpacman/db.c
+++ b/lib/libpacman/db.c
@@ -162,13 +162,14 @@ pmlist_t *_pacman_db_test(pmdb_t *db)
return db->ops->test(db);
}

-int _pacman_db_open(pmdb_t *db)
+int _pacman_db_open(pmdb_t *db, int flags)
{
int ret = 0;

ASSERT(db != NULL, RET_ERR(PM_ERR_DB_NULL, -1));
+       ASSERT(flags == 0, RET_ERR(PM_ERR_DB_OPEN, -1)); /* No flags are 
supported for now */

-       ret = db->ops->open(db, &db->cache_timestamp);
+       ret = db->ops->open(db, flags, &db->cache_timestamp);
if(ret == 0 && _pacman_db_getlastupdate(db, db->lastupdate) == -1) {
db->lastupdate[0] = '\0';
}
@@ -378,7 +379,7 @@ pmdb_t *_pacman_db_register(const char *treename, 
pacman_cb_db_register callback
}

_pacman_log(PM_LOG_DEBUG, _("opening database '%s'"), db->treename);
-       if(_pacman_db_open(db) == -1) {
+       if(_pacman_db_open(db, 0) == -1) {
_pacman_db_free(db);
RET_ERR(PM_ERR_DB_OPEN, NULL);
}
diff --git a/lib/libpacman/db.h b/lib/libpacman/db.h
index cdc3a1b..3ec6407 100644
--- a/lib/libpacman/db.h
+++ b/lib/libpacman/db.h
@@ -40,7 +40,7 @@ typedef struct __pmdb_ops_t pmdb_ops_t;

struct __pmdb_ops_t {
pmlist_t *(*test)(pmdb_t *db);
-       int (*open)(pmdb_t *db, struct tm *timestamp);
+       int (*open)(pmdb_t *db, int flags, struct tm *timestamp);
int (*close)(pmdb_t *db);

int (*gettimestamp)(pmdb_t *db, struct tm *timestamp);
@@ -75,7 +75,7 @@ pmlist_t *_pacman_db_search(pmdb_t *db, pmlist_t *needles);

/* Prototypes for backends functions */
pmlist_t *_pacman_db_test(pmdb_t *db);
-int _pacman_db_open(pmdb_t *db);
+int _pacman_db_open(pmdb_t *db, int flags);
int _pacman_db_close(pmdb_t *db);
int _pacman_db_gettimestamp(pmdb_t *db, struct tm *timestamp);
int _pacman_db_settimestamp(pmdb_t *db, const struct tm *timestamp);
diff --git a/lib/libpacman/db/localdb.c b/lib/libpacman/db/localdb.c
index 3ec7737..608b1eb 100644
--- a/lib/libpacman/db/localdb.c
+++ b/lib/libpacman/db/localdb.c
@@ -107,7 +107,7 @@ pmlist_t *_pacman_localdb_test(pmdb_t *db)
}

static
-int _pacman_localdb_open(pmdb_t *db, struct tm *timestamp)
+int _pacman_localdb_open(pmdb_t *db, int flags, struct tm *timestamp)
{
db->handle = opendir(db->path);
ASSERT(db->handle != NULL, RET_ERR(PM_ERR_DB_OPEN, -1));
diff --git a/lib/libpacman/db/syncdb.c b/lib/libpacman/db/syncdb.c
index 8901db3..ebbcd44 100644
--- a/lib/libpacman/db/syncdb.c
+++ b/lib/libpacman/db/syncdb.c
@@ -88,7 +88,7 @@ pmlist_t *_pacman_syncdb_test(pmdb_t *db)
}

static
-int _pacman_syncdb_open(pmdb_t *db, struct tm *timestamp)
+int _pacman_syncdb_open(pmdb_t *db, int flags, struct tm *timestamp)
{
struct stat buf;
char dbpath[PATH_MAX];
@@ -120,7 +120,7 @@ static
int _pacman_syncdb_rewind(pmdb_t *db)
{
_pacman_syncdb_close(db);
-       return _pacman_syncdb_open(db, NULL);
+       return _pacman_syncdb_open(db, 0, NULL);
}

static
_______________________________________________
Frugalware-git mailing list
Frugalware-git@frugalware.org
http://frugalware.org/mailman/listinfo/frugalware-git

Reply via email to