(libretro-db) Add TODO/FIXME notes

This commit is contained in:
twinaphex 2020-06-05 18:13:25 +02:00
parent b8c41812bf
commit 110339c1cc
4 changed files with 37 additions and 31 deletions

View File

@ -43,6 +43,7 @@ struct bintree
void *ctx;
};
/* TODO/FIXME - static global variable */
static void *NIL_NODE = &NIL_NODE;
static struct bintree_node *bintree_new_nil_node(struct bintree_node *parent)

View File

@ -88,8 +88,6 @@ struct libretrodb_cursor
libretrodb_t *db;
};
static struct rmsgpack_dom_value sentinal;
static int libretrodb_read_metadata(RFILE *fd, libretrodb_metadata_t *md)
{
return rmsgpack_dom_read_into(fd, "count", &md->count, NULL);
@ -140,10 +138,11 @@ int libretrodb_create(RFILE *fd, libretrodb_value_provider value_provider,
{
int rv;
libretrodb_metadata_t md;
static struct rmsgpack_dom_value sentinal;
struct rmsgpack_dom_value item;
uint64_t item_count = 0;
libretrodb_header_t header = {{0}};
ssize_t root = filestream_tell(fd);
ssize_t root = filestream_tell(fd);
memcpy(header.magic_number, MAGIC_NUMBER, sizeof(MAGIC_NUMBER)-1);

View File

@ -91,6 +91,7 @@ struct registered_func
rarch_query_func func;
};
/* TODO/FIXME - static global variable */
static char tmp_error_buff [MAX_ERROR_LEN] = {0};
/* Forward declarations */

View File

@ -39,14 +39,16 @@ struct dom_reader_state
struct rmsgpack_dom_value *stack[MAX_DEPTH];
};
static struct rmsgpack_dom_value *dom_reader_state_pop(struct dom_reader_state *s)
static struct rmsgpack_dom_value *dom_reader_state_pop(
struct dom_reader_state *s)
{
struct rmsgpack_dom_value *v = s->stack[s->i];
s->i--;
return v;
}
static int dom_reader_state_push(struct dom_reader_state *s, struct rmsgpack_dom_value *v)
static int dom_reader_state_push(
struct dom_reader_state *s, struct rmsgpack_dom_value *v)
{
if ((s->i + 1) == MAX_DEPTH)
return -ENOMEM;
@ -112,33 +114,33 @@ static int dom_read_string(char *value, uint32_t len, void *data)
static int dom_read_bin(void *value, uint32_t len, void *data)
{
struct dom_reader_state *dom_state = (struct dom_reader_state *)data;
struct rmsgpack_dom_value *v =
(struct rmsgpack_dom_value*)dom_reader_state_pop(dom_state);
struct rmsgpack_dom_value *v = (struct rmsgpack_dom_value*)
dom_reader_state_pop(dom_state);
v->type = RDT_BINARY;
v->val.binary.len = len;
v->val.binary.buff = (char *)value;
v->type = RDT_BINARY;
v->val.binary.len = len;
v->val.binary.buff = (char *)value;
return 0;
}
static int dom_read_map_start(uint32_t len, void *data)
{
unsigned i;
struct rmsgpack_dom_pair *items = NULL;
struct rmsgpack_dom_pair *items = NULL;
struct dom_reader_state *dom_state = (struct dom_reader_state *)data;
struct rmsgpack_dom_value *v = dom_reader_state_pop(dom_state);
struct rmsgpack_dom_value *v = dom_reader_state_pop(dom_state);
v->type = RDT_MAP;
v->val.map.len = len;
v->val.map.items = NULL;
v->type = RDT_MAP;
v->val.map.len = len;
v->val.map.items = NULL;
items = (struct rmsgpack_dom_pair *)calloc(len,
sizeof(struct rmsgpack_dom_pair));
items = (struct rmsgpack_dom_pair *)
calloc(len, sizeof(struct rmsgpack_dom_pair));
if (!items)
return -ENOMEM;
v->val.map.items = items;
v->val.map.items = items;
for (i = 0; i < len; i++)
{
@ -158,11 +160,12 @@ static int dom_read_array_start(uint32_t len, void *data)
struct rmsgpack_dom_value *v = dom_reader_state_pop(dom_state);
struct rmsgpack_dom_value *items = NULL;
v->type = RDT_ARRAY;
v->val.array.len = len;
v->val.array.items = NULL;
v->type = RDT_ARRAY;
v->val.array.len = len;
v->val.array.items = NULL;
items = (struct rmsgpack_dom_value *)calloc(len, sizeof(*items));
items = (struct rmsgpack_dom_value *)
calloc(len, sizeof(*items));
if (!items)
return -ENOMEM;
@ -258,19 +261,21 @@ int rmsgpack_dom_value_cmp(
case RDT_NULL:
return 0;
case RDT_BOOL:
return a->val.bool_ == b->val.bool_ ? 0 : 1;
return (a->val.bool_ == b->val.bool_) ? 0 : 1;
case RDT_INT:
return a->val.int_ == b->val.int_ ? 0 : 1;
return (a->val.int_ == b->val.int_) ? 0 : 1;
case RDT_UINT:
return a->val.uint_ == b->val.uint_ ? 0 : 1;
return (a->val.uint_ == b->val.uint_) ? 0 : 1;
case RDT_STRING:
if (a->val.string.len != b->val.string.len)
return 1;
return strncmp(a->val.string.buff, b->val.string.buff, a->val.string.len);
return strncmp(a->val.string.buff,
b->val.string.buff, a->val.string.len);
case RDT_BINARY:
if (a->val.binary.len != b->val.binary.len)
return 1;
return memcmp(a->val.binary.buff, b->val.binary.buff, a->val.binary.len);
return memcmp(a->val.binary.buff,
b->val.binary.buff, a->val.binary.len);
case RDT_MAP:
if (a->val.map.len != b->val.map.len)
return 1;
@ -405,7 +410,7 @@ int rmsgpack_dom_write(RFILE *fd, const struct rmsgpack_dom_value *obj)
int rmsgpack_dom_read(RFILE *fd, struct rmsgpack_dom_value *out)
{
struct dom_reader_state s;
int rv = 0;
int rv = 0;
s.i = 0;
s.stack[0] = out;
@ -420,10 +425,10 @@ int rmsgpack_dom_read(RFILE *fd, struct rmsgpack_dom_value *out)
int rmsgpack_dom_read_into(RFILE *fd, ...)
{
va_list ap;
struct rmsgpack_dom_value map;
int rv;
va_list ap;
const char *key_name;
struct rmsgpack_dom_value map;
struct rmsgpack_dom_value key;
struct rmsgpack_dom_value *value;
int64_t *int_value;
@ -435,7 +440,7 @@ int rmsgpack_dom_read_into(RFILE *fd, ...)
va_start(ap, fd);
rv = rmsgpack_dom_read(fd, &map);
rv = rmsgpack_dom_read(fd, &map);
(void)value_type;