From d41b55b25b13c63b7d0d77105bb9af9bebd0e9ac Mon Sep 17 00:00:00 2001 From: twinaphex Date: Sat, 4 Apr 2015 21:10:36 +0200 Subject: [PATCH] Cleanups --- libretro-db/bintree.c | 4 +- libretro-db/lua_common.c | 172 ++++++++++++++++++++------------------- libretro-db/query.c | 18 ++-- 3 files changed, 100 insertions(+), 94 deletions(-) diff --git a/libretro-db/bintree.c b/libretro-db/bintree.c index 176d9bd99d..0c477f2d13 100644 --- a/libretro-db/bintree.c +++ b/libretro-db/bintree.c @@ -13,8 +13,8 @@ void bintree_new(struct bintree *t, bintree_cmp_func cmp, void *ctx) { t->root = new_nil_node(NULL); - t->cmp = cmp; - t->ctx = ctx; + t->cmp = cmp; + t->ctx = ctx; } static struct bintree_node *new_nil_node(struct bintree_node *parent) diff --git a/libretro-db/lua_common.c b/libretro-db/lua_common.c index 32b0fe1052..9bb2641e09 100644 --- a/libretro-db/lua_common.c +++ b/libretro-db/lua_common.c @@ -3,91 +3,97 @@ #include #include -int libretrodb_lua_to_rmsgpack_value( - lua_State * L, - int index, - struct rmsgpack_dom_value * out -) { +int libretrodb_lua_to_rmsgpack_value(lua_State * L, int index, struct rmsgpack_dom_value * out) +{ + lua_Number tmp_num; + size_t tmp_len; + int i, rv = -1; + const char * tmp_string = NULL; + char * tmp_buff = NULL; + struct rmsgpack_dom_value * tmp_value; + const int key_idx = -2; + const int value_idx = -1; + const int MAX_FIELDS = 100; - int rv = -1; - int i; - const char * tmp_string = NULL; - char * tmp_buff = NULL; - struct rmsgpack_dom_value * tmp_value; - const int key_idx = -2; - const int value_idx = -1; - const int MAX_FIELDS = 100; - size_t tmp_len; - lua_Number tmp_num; + out->type = RDT_MAP; + out->map.len = 0; + out->map.items = calloc(MAX_FIELDS, sizeof(struct rmsgpack_dom_pair)); + lua_pushnil(L); - out->type = RDT_MAP; - out->map.len = 0; - out->map.items = calloc(MAX_FIELDS, sizeof(struct rmsgpack_dom_pair)); - lua_pushnil(L); - while (lua_next(L, index - 1) != 0) { - if (out->map.len > MAX_FIELDS) { - printf("skipping due to too many keys\n"); - } else if (!lua_isstring(L, key_idx)) { - printf("skipping non string key\n"); - } else if (lua_isnil(L, value_idx)) { - // Skipping nil value fields to save disk space - } else { - i = out->map.len; - tmp_buff = strdup(lua_tostring(L, key_idx)); - out->map.items[i].key.type = RDT_STRING; - out->map.items[i].key.string.len = strlen(tmp_buff); - out->map.items[i].key.string.buff = tmp_buff; + while (lua_next(L, index - 1) != 0) + { + if (out->map.len > MAX_FIELDS) + printf("skipping due to too many keys\n"); + else if (!lua_isstring(L, key_idx)) + printf("skipping non string key\n"); + else if (lua_isnil(L, value_idx)) + { + // Skipping nil value fields to save disk space + } + else + { + i = out->map.len; + tmp_buff = strdup(lua_tostring(L, key_idx)); + out->map.items[i].key.type = RDT_STRING; + out->map.items[i].key.string.len = strlen(tmp_buff); + out->map.items[i].key.string.buff = tmp_buff; - tmp_value = &out->map.items[i].value; - switch (lua_type(L, value_idx)) { - case LUA_TNUMBER: - tmp_num = lua_tonumber(L, value_idx); - tmp_value->type = RDT_INT; - tmp_value->int_ = tmp_num; - break; - case LUA_TBOOLEAN: - tmp_value->type = RDT_BOOL; - tmp_value->bool_ = lua_toboolean(L, value_idx); - break; - case LUA_TSTRING: - tmp_buff = strdup(lua_tostring(L, value_idx)); - tmp_value->type = RDT_STRING; - tmp_value->string.len = strlen(tmp_buff); - tmp_value->string.buff = tmp_buff; - break; - case LUA_TTABLE: - lua_getfield(L, value_idx, "binary"); - if (!lua_isstring(L, -1)) { - lua_pop(L, 1); - lua_getfield(L, value_idx, "uint"); - if (!lua_isnumber(L, -1)) { - lua_pop(L, 1); - goto set_nil; - } else { - tmp_num = lua_tonumber(L, -1); - tmp_value->type = RDT_UINT; - tmp_value->uint_ = tmp_num; - lua_pop(L, 1); - } - } else { - tmp_string = lua_tolstring(L, -1, &tmp_len); - tmp_buff = malloc(tmp_len); - memcpy(tmp_buff, tmp_string, tmp_len); - tmp_value->type = RDT_BINARY; - tmp_value->binary.len = tmp_len; - tmp_value->binary.buff = tmp_buff; - lua_pop(L, 1); - } - break; - default: + tmp_value = &out->map.items[i].value; + switch (lua_type(L, value_idx)) + { + case LUA_TNUMBER: + tmp_num = lua_tonumber(L, value_idx); + tmp_value->type = RDT_INT; + tmp_value->int_ = tmp_num; + break; + case LUA_TBOOLEAN: + tmp_value->type = RDT_BOOL; + tmp_value->bool_ = lua_toboolean(L, value_idx); + break; + case LUA_TSTRING: + tmp_buff = strdup(lua_tostring(L, value_idx)); + tmp_value->type = RDT_STRING; + tmp_value->string.len = strlen(tmp_buff); + tmp_value->string.buff = tmp_buff; + break; + case LUA_TTABLE: + lua_getfield(L, value_idx, "binary"); + if (!lua_isstring(L, -1)) + { + lua_pop(L, 1); + lua_getfield(L, value_idx, "uint"); + if (!lua_isnumber(L, -1)) + { + lua_pop(L, 1); + goto set_nil; + } + else + { + tmp_num = lua_tonumber(L, -1); + tmp_value->type = RDT_UINT; + tmp_value->uint_ = tmp_num; + lua_pop(L, 1); + } + } + else + { + tmp_string = lua_tolstring(L, -1, &tmp_len); + tmp_buff = malloc(tmp_len); + memcpy(tmp_buff, tmp_string, tmp_len); + tmp_value->type = RDT_BINARY; + tmp_value->binary.len = tmp_len; + tmp_value->binary.buff = tmp_buff; + lua_pop(L, 1); + } + break; + default: set_nil: - tmp_value->type = RDT_NULL; - } - out->map.len++; - } - lua_pop(L, 1); - } - rv = 0; - return rv; + tmp_value->type = RDT_NULL; + } + out->map.len++; + } + lua_pop(L, 1); + } + rv = 0; + return rv; } - diff --git a/libretro-db/query.c b/libretro-db/query.c index 98e36bccf2..d17218e998 100644 --- a/libretro-db/query.c +++ b/libretro-db/query.c @@ -21,17 +21,17 @@ static char tmp_error_buff [MAX_ERROR_LEN] = {}; struct buffer { - const char *data; - size_t len; - off_t offset; + const char *data; + size_t len; + off_t offset; }; /* Errors */ static void raise_too_many_arguments(const char **error) { - snprintf(tmp_error_buff, MAX_ERROR_LEN, + snprintf(tmp_error_buff, MAX_ERROR_LEN, "Too many arguments in function call."); - *error = tmp_error_buff; + *error = tmp_error_buff; } static void raise_expected_number(off_t where, const char **error) @@ -345,11 +345,11 @@ static struct rmsgpack_dom_value q_glob(struct rmsgpack_dom_value input, static struct rmsgpack_dom_value all_map(struct rmsgpack_dom_value input, unsigned argc, const struct argument *argv) { + unsigned i; struct rmsgpack_dom_value res; - struct rmsgpack_dom_value *value = NULL; struct argument arg; struct rmsgpack_dom_value nil_value; - unsigned i; + struct rmsgpack_dom_value *value = NULL; nil_value.type = RDT_NULL; res.type = RDT_BOOL; @@ -477,7 +477,7 @@ static struct buffer parse_string(struct buffer buff, { const char * str_start; char terminator = '\0'; - char c = '\0'; + char c = '\0'; (void)c; @@ -872,7 +872,7 @@ void *libretrodb_query_compile(libretrodb_t *db, buff.offset = 0; *error = NULL; - buff = chomp(buff); + buff = chomp(buff); if (peek(buff, "{")) {