added dbiGetFirstKey()
authorewt <devnull@localhost>
Tue, 15 Dec 1998 05:48:11 +0000 (05:48 +0000)
committerewt <devnull@localhost>
Tue, 15 Dec 1998 05:48:11 +0000 (05:48 +0000)
CVS patchset: 2602
CVS date: 1998/12/15 05:48:11

lib/dbindex.c
lib/dbindex.h

index d54edc3..6489d12 100644 (file)
@@ -29,6 +29,22 @@ void dbiSyncIndex(dbiIndex * dbi) {
     dbi->db->sync(dbi->db, 0);
 }
 
+int dbiGetFirstKey(dbiIndex * dbi, char ** keyp) {
+    DBT key, data;
+    int rc;
+
+    rc = dbi->db->seq(dbi->db, &key, &data, R_FIRST);
+    if (rc) {
+       return 1;
+    }
+
+    *keyp = malloc(key.size + 1);
+    memcpy(*keyp, key.data, key.size);
+    (*keyp)[key.size] = '\0';
+
+    return 0;
+}
+
 int dbiSearchIndex(dbiIndex * dbi, char * str, dbiIndexSet * set) {
     DBT key, data;
     int rc;
index 3ee6f30..9448f47 100644 (file)
@@ -41,6 +41,7 @@ int dbiRemoveIndexRecord(dbiIndexSet * set, dbiIndexRecord rec);
    /* 0 on success - fails if rec is not found */
 dbiIndexSet dbiCreateIndexRecord(void);
 void dbiFreeIndexRecord(dbiIndexSet set);
+int dbiGetFirstKey(dbiIndex * dbi, char ** key);
 
 extern inline int dbiIndexSetCount(dbiIndexSet set);
 extern inline int dbiIndexSetCount(dbiIndexSet set) {