Ticket #7970: database.c

File database.c, 486 bytes (added by joeyadams, 10 months ago)

A highly robust in-memory NoSQL database

Line 
1#include <HsFFI.h>
2#include <stdio.h>
3#include <stdlib.h>
4
5typedef struct {
6    int open;
7} DB;
8
9DB *db_open(void)
10{
11    DB *db = malloc(sizeof(*db));
12    db->open = 1;
13    printf("db_open returned %p\n", db);
14    return db;
15}
16
17void db_close(DB *db)
18{
19    if (db->open) {
20        db->open = 0;
21        printf("db_close(%p)\n", db);
22    } else {
23        printf("db_close(%p) [redundant]\n", db);
24    }
25}
26
27HsBool db_is_open(DB *db) {
28    return db->open ? HS_BOOL_TRUE : HS_BOOL_FALSE;
29}