mirror of
https://github.com/libretro/RetroArch.git
synced 2025-02-25 20:32:22 +00:00
(libretro-db) Add TODO/FIXME notes
This commit is contained in:
parent
b8c41812bf
commit
110339c1cc
@ -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)
|
||||
|
@ -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);
|
||||
|
||||
|
@ -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 */
|
||||
|
@ -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;
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user