summaryrefslogtreecommitdiff
path: root/src/lib/test.c
diff options
context:
space:
mode:
authorbpc2003 <wpesfriendnva@gmail.com>2025-03-10 16:31:37 -0400
committerbpc2003 <wpesfriendnva@gmail.com>2025-03-10 16:31:37 -0400
commit2011c1e008055005bf980acbff549c8f46a34f25 (patch)
tree54f6b74a190637fa2303bd6db4089bc60e419f2e /src/lib/test.c
parentde52acd37ea5634712ed78c624f77566e3ac634e (diff)
moved mdb.h and associated files int lib
Diffstat (limited to 'src/lib/test.c')
-rw-r--r--src/lib/test.c39
1 files changed, 39 insertions, 0 deletions
diff --git a/src/lib/test.c b/src/lib/test.c
new file mode 100644
index 0000000..5fb9f8b
--- /dev/null
+++ b/src/lib/test.c
@@ -0,0 +1,39 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include <stdint.h>
+
+#include "src/mdb.h"
+
+int main(int argc, char **argv)
+{
+ if (argc != 2)
+ exit(1);
+ char *filename = argv[1];
+ struct keytablist *list = readdb(filename);
+ if (list == NULL)
+ exit(2);
+
+ writedb(filename, list);
+ for (int i = 0; i < list[0].len; ++i) {
+ int *indexes = getkeys(list, i);
+ for (int j = 0; indexes[j]; ++j) {
+ printf("%s: ", list[i].tab[indexes[j]].key);
+ switch (list[i].tab[indexes[j]].flag) {
+ case 1:
+ printf("%.2lf\n", list[i].tab[indexes[j]].v.num);
+ break;
+ case 2:
+ printf("%d\n", list[i].tab[indexes[j]].v.b);
+ break;
+ case 3:
+ printf("%s\n", list[i].tab[indexes[j]].v.str);
+ break;
+ }
+ delkey(list, i, list[i].tab[indexes[j]].key);
+ }
+ free(indexes);
+ }
+
+ free(list);
+ exit(0);
+}