From 3bc3ad24a2c089b4ee80fc1765fab3d2af378d00 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Tue, 26 Aug 2003 21:43:31 +0000 Subject: Initial commit git-svn-id: file:///home/lennart/svn/public/syrep/trunk@2 07ea20a6-d2c5-0310-9e02-9ef735347d72 --- src/history.c | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 src/history.c (limited to 'src/history.c') diff --git a/src/history.c b/src/history.c new file mode 100644 index 0000000..f8fbe63 --- /dev/null +++ b/src/history.c @@ -0,0 +1,48 @@ +#include +#include +#include + +#include "history.h" +#include "dbstruct.h" + +int history(struct syrep_db_context *c) { + int r = -1, ret; + DBC *cursor = NULL; + DBT key, data; + + assert(c && c->db_version_timestamp); + + if ((ret = c->db_version_timestamp->cursor(c->db_version_timestamp, NULL, &cursor, 0)) != 0) { + c->db_version_timestamp->err(c->db_version_timestamp, ret, "version_timestamp::cursor()"); + goto finish; + } + + memset(&key, 0, sizeof(key)); + memset(&data, 0, sizeof(data)); + + while ((ret = cursor->c_get(cursor, &key, &data, DB_NEXT)) == 0) { + struct syrep_version *version; + struct syrep_timestamp *timestamp; + + version = key.data; + timestamp = data.data; + + assert(version && timestamp); + + fprintf(stderr, "%4u %10u %s", version->v, timestamp->t, ctime((time_t*) (×tamp->t))); + } + + if (ret != DB_NOTFOUND) { + c->db_version_timestamp->err(c->db_version_timestamp, ret, "version_timestamp::c_get()"); + goto finish; + } + + r = 0; + +finish: + + if (cursor) + cursor->c_close(cursor); + + return r; +} -- cgit