Revision d195325b tests/test-qmp-input-visitor.c
b/tests/test-qmp-input-visitor.c | ||
---|---|---|
151 | 151 |
static void visit_type_TestStruct(Visitor *v, TestStruct **obj, |
152 | 152 |
const char *name, Error **errp) |
153 | 153 |
{ |
154 |
visit_start_struct(v, (void **)obj, "TestStruct", name, sizeof(TestStruct), |
|
155 |
errp); |
|
156 |
|
|
157 |
visit_type_int(v, &(*obj)->integer, "integer", errp); |
|
158 |
visit_type_bool(v, &(*obj)->boolean, "boolean", errp); |
|
159 |
visit_type_str(v, &(*obj)->string, "string", errp); |
|
160 |
|
|
161 |
visit_end_struct(v, errp); |
|
154 |
Error *err = NULL; |
|
155 |
if (!error_is_set(errp)) { |
|
156 |
visit_start_struct(v, (void **)obj, "TestStruct", name, sizeof(TestStruct), |
|
157 |
&err); |
|
158 |
if (!err) { |
|
159 |
visit_type_int(v, &(*obj)->integer, "integer", &err); |
|
160 |
visit_type_bool(v, &(*obj)->boolean, "boolean", &err); |
|
161 |
visit_type_str(v, &(*obj)->string, "string", &err); |
|
162 |
|
|
163 |
/* Always call end_struct if start_struct succeeded. */ |
|
164 |
error_propagate(errp, err); |
|
165 |
err = NULL; |
|
166 |
visit_end_struct(v, &err); |
|
167 |
} |
|
168 |
error_propagate(errp, err); |
|
169 |
} |
|
162 | 170 |
} |
163 | 171 |
|
164 | 172 |
static void test_visitor_in_struct(TestInputVisitorData *data, |
Also available in: Unified diff