xbot/test_db.c

58 lines
1.3 KiB
C
Raw Normal View History

2024-03-04 19:37:24 +00:00
#include "db.h"
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
2024-03-06 02:12:10 +00:00
#include <unistd.h>
2024-03-04 19:37:24 +00:00
2024-03-06 02:12:10 +00:00
#define FNAME "xbot.db"
2024-03-04 19:37:24 +00:00
int main()
{
struct db_table *db;
int i;
2024-03-06 02:12:10 +00:00
if (access(FNAME, F_OK) == -1)
{
printf("Creating db\n");
db = (struct db_table *)malloc(sizeof(struct db_table));
db->count = 0;
db->hashes = NULL;
}
else
{
db = read_db(FNAME);
}
// write some data if db is empty
if (db->count == 0)
{
db_set_hash_char(db, "lua.scripts", "hello.lua,test.lua,youtube.lua");
db_set_hash_int(db, "lua.scriptcount", 2);
db_set_hash_float(db, "lua.version", 5.1);
2024-03-06 02:12:10 +00:00
write_db(db, FNAME);
return 0;
}
2024-03-04 19:37:24 +00:00
for (i = 0; i < db->count; i++)
{
2024-03-06 04:53:00 +00:00
if (db->hashes[i].type == DB_TYPE_INT)
{
printf("Key: %s, Value: %d\n", db->hashes[i].key, get_hash_int(db, db->hashes[i].key));
}
else if (db->hashes[i].type == DB_TYPE_FLOAT)
{
printf("Key: %s, Value: %f\n", db->hashes[i].key, get_hash_float(db, db->hashes[i].key));
}
else if (db->hashes[i].type == DB_TYPE_CHAR)
2024-03-06 04:53:00 +00:00
{
printf("Key: %s, Value: %s\n", db->hashes[i].key, get_hash_char(db, db->hashes[i].key));
}
2024-03-04 19:37:24 +00:00
}
free(db);
return 0;
}