From 110339c1ccd704fb0094f1b3f740c68ea198d7e6 Mon Sep 17 00:00:00 2001 From: twinaphex Date: Fri, 5 Jun 2020 18:13:25 +0200 Subject: [PATCH] (libretro-db) Add TODO/FIXME notes --- libretro-db/bintree.c | 1 + libretro-db/libretrodb.c | 5 ++-- libretro-db/query.c | 1 + libretro-db/rmsgpack_dom.c | 61 +++++++++++++++++++++----------------- 4 files changed, 37 insertions(+), 31 deletions(-) diff --git a/libretro-db/bintree.c b/libretro-db/bintree.c index afd7b351ca..b15b369bd1 100644 --- a/libretro-db/bintree.c +++ b/libretro-db/bintree.c @@ -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) diff --git a/libretro-db/libretrodb.c b/libretro-db/libretrodb.c index 9e0a50cd3f..a82e2399b1 100644 --- a/libretro-db/libretrodb.c +++ b/libretro-db/libretrodb.c @@ -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); diff --git a/libretro-db/query.c b/libretro-db/query.c index 4ec54ffc0a..9cdf5dc529 100644 --- a/libretro-db/query.c +++ b/libretro-db/query.c @@ -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 */ diff --git a/libretro-db/rmsgpack_dom.c b/libretro-db/rmsgpack_dom.c index d0f4f977e1..1119057e39 100644 --- a/libretro-db/rmsgpack_dom.c +++ b/libretro-db/rmsgpack_dom.c @@ -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;