diff cdb.h @ 12:0e21568dec72

allocate a Cdb struct rather than using a single static one, note that cdb_free does _not_ call alloc_free, just releases the map, in fact alloc_free is not called anywhere!
author Henry S. Thompson <ht@inf.ed.ac.uk>
date Mon, 03 Feb 2025 17:31:23 +0000
parents 41b9b6a160d1
children 70f4df5a7283
line wrap: on
line diff
--- a/cdb.h	Fri Jan 31 17:28:35 2025 +0000
+++ b/cdb.h	Mon Feb 03 17:31:23 2025 +0000
@@ -26,7 +26,7 @@
 
 extern Cdb* cdb_new(void);
 
-extern void cdb_free(Cdb *);
+extern void cdb_clear(Cdb *);
 extern void cdb_init(Cdb *,int fd);
 
 extern int cdb_read(Cdb *,char *,unsigned int,uint32);
@@ -35,12 +35,15 @@
 extern int cdb_findnext(Cdb *,char *,unsigned int);
 extern int cdb_find(Cdb *,char *,unsigned int);
 
-extern uint32 cdb_pos();
-extern uint32 cdb_len();
+/*extern uint32 cdb_pos();
+extern uint32 cdb_len();*/
+#define cdb_pos(c) ((c)->dpos)
+#define cdb_len(c) ((c)->dlen)
 
-extern char *cdb_mmap();
-extern uint32 cdb_msize();
-
+/*extern char *cdb_mmap();
+extern uint32 cdb_msize();*/
+#define cdb_mmap(c) ((c)->map)
+#define cdb_msize(c) ((c)->size)
 
 #define cdb_datapos(c) ((c)->dpos)
 #define cdb_datalen(c) ((c)->dlen)