提交 d9eba57a 编写于 作者: M Marc-André Lureau 提交者: Markus Armbruster

qlit: make qlit_equal_qobject return a bool

Make it more obvious about the expected return values.
Signed-off-by: NMarc-André Lureau <marcandre.lureau@redhat.com>
Reviewed-by: NMarkus Armbruster <armbru@redhat.com>
Message-Id: <20170825105913.4060-7-marcandre.lureau@redhat.com>
Signed-off-by: NMarkus Armbruster <armbru@redhat.com>
上级 60cc2eb7
...@@ -44,6 +44,6 @@ struct QLitDictEntry { ...@@ -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 */
...@@ -21,19 +21,19 @@ ...@@ -21,19 +21,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;
} }
...@@ -41,12 +41,12 @@ static void compare_helper(QObject *obj, void *opaque) ...@@ -41,12 +41,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) {
...@@ -64,18 +64,18 @@ int qlit_equal_qobject(QLitObject *lhs, QObject *rhs) ...@@ -64,18 +64,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);
...@@ -85,5 +85,5 @@ int qlit_equal_qobject(QLitObject *lhs, QObject *rhs) ...@@ -85,5 +85,5 @@ int qlit_equal_qobject(QLitObject *lhs, QObject *rhs)
break; break;
} }
return 0; return false;
} }
...@@ -1094,13 +1094,13 @@ static void simple_dict(void) ...@@ -1094,13 +1094,13 @@ static void simple_dict(void)
QString *str; QString *str;
obj = qobject_from_json(test_cases[i].encoded, &error_abort); obj = qobject_from_json(test_cases[i].encoded, &error_abort);
g_assert(qlit_equal_qobject(&test_cases[i].decoded, obj) == 1); g_assert(qlit_equal_qobject(&test_cases[i].decoded, obj));
str = qobject_to_json(obj); str = qobject_to_json(obj);
qobject_decref(obj); qobject_decref(obj);
obj = qobject_from_json(qstring_get_str(str), &error_abort); obj = qobject_from_json(qstring_get_str(str), &error_abort);
g_assert(qlit_equal_qobject(&test_cases[i].decoded, obj) == 1); g_assert(qlit_equal_qobject(&test_cases[i].decoded, obj));
qobject_decref(obj); qobject_decref(obj);
QDECREF(str); QDECREF(str);
} }
...@@ -1203,13 +1203,13 @@ static void simple_list(void) ...@@ -1203,13 +1203,13 @@ static void simple_list(void)
QString *str; QString *str;
obj = qobject_from_json(test_cases[i].encoded, &error_abort); obj = qobject_from_json(test_cases[i].encoded, &error_abort);
g_assert(qlit_equal_qobject(&test_cases[i].decoded, obj) == 1); g_assert(qlit_equal_qobject(&test_cases[i].decoded, obj));
str = qobject_to_json(obj); str = qobject_to_json(obj);
qobject_decref(obj); qobject_decref(obj);
obj = qobject_from_json(qstring_get_str(str), &error_abort); obj = qobject_from_json(qstring_get_str(str), &error_abort);
g_assert(qlit_equal_qobject(&test_cases[i].decoded, obj) == 1); g_assert(qlit_equal_qobject(&test_cases[i].decoded, obj));
qobject_decref(obj); qobject_decref(obj);
QDECREF(str); QDECREF(str);
} }
...@@ -1265,13 +1265,13 @@ static void simple_whitespace(void) ...@@ -1265,13 +1265,13 @@ static void simple_whitespace(void)
QString *str; QString *str;
obj = qobject_from_json(test_cases[i].encoded, &error_abort); obj = qobject_from_json(test_cases[i].encoded, &error_abort);
g_assert(qlit_equal_qobject(&test_cases[i].decoded, obj) == 1); g_assert(qlit_equal_qobject(&test_cases[i].decoded, obj));
str = qobject_to_json(obj); str = qobject_to_json(obj);
qobject_decref(obj); qobject_decref(obj);
obj = qobject_from_json(qstring_get_str(str), &error_abort); obj = qobject_from_json(qstring_get_str(str), &error_abort);
g_assert(qlit_equal_qobject(&test_cases[i].decoded, obj) == 1); g_assert(qlit_equal_qobject(&test_cases[i].decoded, obj));
qobject_decref(obj); qobject_decref(obj);
QDECREF(str); QDECREF(str);
...@@ -1295,7 +1295,7 @@ static void simple_varargs(void) ...@@ -1295,7 +1295,7 @@ static void simple_varargs(void)
g_assert(embedded_obj != NULL); g_assert(embedded_obj != NULL);
obj = qobject_from_jsonf("[%d, 2, %p]", 1, embedded_obj); obj = qobject_from_jsonf("[%d, 2, %p]", 1, embedded_obj);
g_assert(qlit_equal_qobject(&decoded, obj) == 1); g_assert(qlit_equal_qobject(&decoded, obj));
qobject_decref(obj); qobject_decref(obj);
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册