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:
Marc-André Lureau 2018-03-07 17:16:30 -05:00 committed by Lioncash
parent c51622c4ce
commit 966cac10a7
No known key found for this signature in database
GPG key ID: 4E3C3CC1031BA9C7
2 changed files with 10 additions and 10 deletions

View file

@ -44,6 +44,6 @@ struct QLitDictEntry {
#define QLIT_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 */

View file

@ -25,19 +25,19 @@
typedef struct QListCompareHelper {
int index;
QLitObject *objs;
int result;
bool result;
} QListCompareHelper;
static void compare_helper(QObject *obj, void *opaque)
{
QListCompareHelper *helper = opaque;
if (helper->result == 0) {
if (!helper->result) {
return;
}
if (helper->objs[helper->index].type == QTYPE_NONE) {
helper->result = 0;
helper->result = false;
return;
}
@ -45,12 +45,12 @@ static void compare_helper(QObject *obj, void *opaque)
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;
if (!rhs || lhs->type != qobject_type(rhs)) {
return 0;
return false;
}
switch (lhs->type) {
@ -68,18 +68,18 @@ int qlit_equal_qobject(QLitObject *lhs, QObject *rhs)
lhs->value.qdict[i].key);
if (!qlit_equal_qobject(&lhs->value.qdict[i].value, obj)) {
return 0;
return false;
}
}
return 1;
return true;
}
case QTYPE_QLIST: {
QListCompareHelper helper;
helper.index = 0;
helper.objs = lhs->value.qlist;
helper.result = 1;
helper.result = true;
qlist_iter(qobject_to_qlist(rhs), compare_helper, &helper);
@ -89,5 +89,5 @@ int qlit_equal_qobject(QLitObject *lhs, QObject *rhs)
break;
}
return 0;
return false;
}