diff --git a/libretro-db/query.c b/libretro-db/query.c index d2964b907d..44e4404f31 100644 --- a/libretro-db/query.c +++ b/libretro-db/query.c @@ -65,25 +65,25 @@ typedef struct rmsgpack_dom_value (*rarch_query_func)( struct invocation { + struct argument *argv; rarch_query_func func; unsigned argc; - struct argument *argv; }; struct argument { - enum argument_type type; union { struct rmsgpack_dom_value value; struct invocation invocation; } a; + enum argument_type type; }; struct query { + struct invocation root; /* ptr alignment */ unsigned ref_count; - struct invocation root; }; struct registered_func diff --git a/libretro-db/rmsgpack_dom.h b/libretro-db/rmsgpack_dom.h index 5a8d7c16d4..2032bf58c0 100644 --- a/libretro-db/rmsgpack_dom.h +++ b/libretro-db/rmsgpack_dom.h @@ -44,7 +44,6 @@ enum rmsgpack_dom_type struct rmsgpack_dom_value { - enum rmsgpack_dom_type type; union { uint64_t uint_; @@ -71,12 +70,13 @@ struct rmsgpack_dom_value struct rmsgpack_dom_value *items; } array; } val; + enum rmsgpack_dom_type type; }; struct rmsgpack_dom_pair { - struct rmsgpack_dom_value key; - struct rmsgpack_dom_value value; + struct rmsgpack_dom_value key; /* uint64_t alignment */ + struct rmsgpack_dom_value value; /* uint64_t alignment */ }; void rmsgpack_dom_value_print(struct rmsgpack_dom_value *obj);