mirror of
https://github.com/yuzu-emu/unicorn.git
synced 2025-01-25 17:41:09 +00:00
qlit: make qlit_equal_qobject return a bool
Make it more obvious about the expected return values. Backports commit d9eba57a6ad6d8fe8cf11bdd8345bbda66deb6d9 from qemu
This commit is contained in:
parent
c51622c4ce
commit
966cac10a7
|
@ -44,6 +44,6 @@ struct QLitDictEntry {
|
||||||
#define QLIT_QLIST(val) \
|
#define QLIT_QLIST(val) \
|
||||||
{ .type = QTYPE_QLIST, .value.qlist = (val) }
|
{ .type = QTYPE_QLIST, .value.qlist = (val) }
|
||||||
|
|
||||||
int qlit_equal_qobject(QLitObject *lhs, QObject *rhs);
|
bool qlit_equal_qobject(QLitObject *lhs, QObject *rhs);
|
||||||
|
|
||||||
#endif /* QLIT_H */
|
#endif /* QLIT_H */
|
||||||
|
|
|
@ -25,19 +25,19 @@
|
||||||
typedef struct QListCompareHelper {
|
typedef struct QListCompareHelper {
|
||||||
int index;
|
int index;
|
||||||
QLitObject *objs;
|
QLitObject *objs;
|
||||||
int result;
|
bool result;
|
||||||
} QListCompareHelper;
|
} QListCompareHelper;
|
||||||
|
|
||||||
static void compare_helper(QObject *obj, void *opaque)
|
static void compare_helper(QObject *obj, void *opaque)
|
||||||
{
|
{
|
||||||
QListCompareHelper *helper = opaque;
|
QListCompareHelper *helper = opaque;
|
||||||
|
|
||||||
if (helper->result == 0) {
|
if (!helper->result) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (helper->objs[helper->index].type == QTYPE_NONE) {
|
if (helper->objs[helper->index].type == QTYPE_NONE) {
|
||||||
helper->result = 0;
|
helper->result = false;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -45,12 +45,12 @@ static void compare_helper(QObject *obj, void *opaque)
|
||||||
qlit_equal_qobject(&helper->objs[helper->index++], obj);
|
qlit_equal_qobject(&helper->objs[helper->index++], obj);
|
||||||
}
|
}
|
||||||
|
|
||||||
int qlit_equal_qobject(QLitObject *lhs, QObject *rhs)
|
bool qlit_equal_qobject(QLitObject *lhs, QObject *rhs)
|
||||||
{
|
{
|
||||||
int64_t val;
|
int64_t val;
|
||||||
|
|
||||||
if (!rhs || lhs->type != qobject_type(rhs)) {
|
if (!rhs || lhs->type != qobject_type(rhs)) {
|
||||||
return 0;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
switch (lhs->type) {
|
switch (lhs->type) {
|
||||||
|
@ -68,18 +68,18 @@ int qlit_equal_qobject(QLitObject *lhs, QObject *rhs)
|
||||||
lhs->value.qdict[i].key);
|
lhs->value.qdict[i].key);
|
||||||
|
|
||||||
if (!qlit_equal_qobject(&lhs->value.qdict[i].value, obj)) {
|
if (!qlit_equal_qobject(&lhs->value.qdict[i].value, obj)) {
|
||||||
return 0;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return 1;
|
return true;
|
||||||
}
|
}
|
||||||
case QTYPE_QLIST: {
|
case QTYPE_QLIST: {
|
||||||
QListCompareHelper helper;
|
QListCompareHelper helper;
|
||||||
|
|
||||||
helper.index = 0;
|
helper.index = 0;
|
||||||
helper.objs = lhs->value.qlist;
|
helper.objs = lhs->value.qlist;
|
||||||
helper.result = 1;
|
helper.result = true;
|
||||||
|
|
||||||
qlist_iter(qobject_to_qlist(rhs), compare_helper, &helper);
|
qlist_iter(qobject_to_qlist(rhs), compare_helper, &helper);
|
||||||
|
|
||||||
|
@ -89,5 +89,5 @@ int qlit_equal_qobject(QLitObject *lhs, QObject *rhs)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue