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

commit 91eeed3240de57914be6f4ab3ac2d740413923e1
Author: Michel Hermier <herm...@frugalware.org>
Date:   Tue Nov 12 14:33:23 2013 +0100

libpacman: Add timestamp return attribute when opening a database.

diff --git a/lib/libpacman/db.c b/lib/libpacman/db.c
index c4b0851..8456eab 100644
--- a/lib/libpacman/db.c
+++ b/lib/libpacman/db.c
@@ -168,7 +168,7 @@ int _pacman_db_open(pmdb_t *db)

ASSERT(db != NULL, RET_ERR(PM_ERR_DB_NULL, -1));

-       ret = db->ops->open(db);
+       ret = db->ops->open(db, &db->cache_timestamp);
if(ret == 0 && _pacman_db_getlastupdate(db, db->lastupdate) == -1) {
db->lastupdate[0] = '\0';
}
diff --git a/lib/libpacman/db.h b/lib/libpacman/db.h
index 1a70f1a..d0e8dbb 100644
--- a/lib/libpacman/db.h
+++ b/lib/libpacman/db.h
@@ -42,7 +42,7 @@ typedef struct __pmdb_ops_t pmdb_ops_t;

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

int (*gettimestamp)(pmdb_t *db, struct tm *timestamp);
diff --git a/lib/libpacman/db/localdb.c b/lib/libpacman/db/localdb.c
index 235c1df..3ec7737 100644
--- a/lib/libpacman/db/localdb.c
+++ b/lib/libpacman/db/localdb.c
@@ -107,11 +107,11 @@ pmlist_t *_pacman_localdb_test(pmdb_t *db)
}

static
-int _pacman_localdb_open(pmdb_t *db)
+int _pacman_localdb_open(pmdb_t *db, struct tm *timestamp)
{
db->handle = opendir(db->path);
ASSERT(db->handle != NULL, RET_ERR(PM_ERR_DB_OPEN, -1));
-
+       _pacman_db_gettimestamp(db, timestamp);
return 0;
}

diff --git a/lib/libpacman/db/syncdb.c b/lib/libpacman/db/syncdb.c
index bc86ce7..8901db3 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)
+int _pacman_syncdb_open(pmdb_t *db, struct tm *timestamp)
{
struct stat buf;
char dbpath[PATH_MAX];
@@ -102,6 +102,7 @@ int _pacman_syncdb_open(pmdb_t *db)
if((db->handle = _pacman_archive_read_open_all_file(dbpath)) == NULL) {
RET_ERR(PM_ERR_DB_OPEN, -1);
}
+       _pacman_db_gettimestamp(db, timestamp);
return 0;
}

@@ -119,7 +120,7 @@ static
int _pacman_syncdb_rewind(pmdb_t *db)
{
_pacman_syncdb_close(db);
-       return _pacman_syncdb_open(db);
+       return _pacman_syncdb_open(db, NULL);
}

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

Reply via email to