#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; }