void hmp_hello_world(Monitor *mon, const QDict *qdict)
{
const char *message = qdict_get_try_str(qdict, "message");
- Error *errp = NULL;
+ Error *err = NULL;
- qmp_hello_world(!!message, message, &errp);
- if (errp) {
- monitor_printf(mon, "%s\n", error_get_pretty(errp));
- error_free(errp);
+ qmp_hello_world(!!message, message, &err);
+ if (err) {
+ monitor_printf(mon, "%s\n", error_get_pretty(err));
+ error_free(err);
return;
}
}
2. hmp_hello_world() performs error checking. In this example we just print
the error description to the user, but we could do more, like taking
different actions depending on the error qmp_hello_world() returns
-3. The "errp" variable must be initialized to NULL before performing the
+3. The "err" variable must be initialized to NULL before performing the
QMP call
There's one last step to actually make the command available to monitor users,
void hmp_info_alarm_clock(Monitor *mon)
{
QemuAlarmClock *clock;
- Error *errp = NULL;
+ Error *err = NULL;
- clock = qmp_query_alarm_clock(&errp);
- if (errp) {
+ clock = qmp_query_alarm_clock(&err);
+ if (err) {
monitor_printf(mon, "Could not query alarm clock information\n");
- error_free(errp);
+ error_free(err);
return;
}
void hmp_info_alarm_methods(Monitor *mon)
{
TimerAlarmMethodList *method_list, *method;
- Error *errp = NULL;
+ Error *err = NULL;
- method_list = qmp_query_alarm_methods(&errp);
- if (errp) {
+ method_list = qmp_query_alarm_methods(&err);
+ if (err) {
monitor_printf(mon, "Could not query alarm methods\n");
- error_free(errp);
+ error_free(err);
return;
}
uint32_t size = qdict_get_int(qdict, "size");
const char *filename = qdict_get_str(qdict, "filename");
uint64_t addr = qdict_get_int(qdict, "val");
- Error *errp = NULL;
+ Error *err = NULL;
- qmp_memsave(addr, size, filename, true, monitor_get_cpu_index(), &errp);
- hmp_handle_error(mon, &errp);
+ qmp_memsave(addr, size, filename, true, monitor_get_cpu_index(), &err);
+ hmp_handle_error(mon, &err);
}
void hmp_pmemsave(Monitor *mon, const QDict *qdict)
uint32_t size = qdict_get_int(qdict, "size");
const char *filename = qdict_get_str(qdict, "filename");
uint64_t addr = qdict_get_int(qdict, "val");
- Error *errp = NULL;
+ Error *err = NULL;
- qmp_pmemsave(addr, size, filename, &errp);
- hmp_handle_error(mon, &errp);
+ qmp_pmemsave(addr, size, filename, &err);
+ hmp_handle_error(mon, &err);
}
void hmp_ringbuf_write(Monitor *mon, const QDict *qdict)
{
const char *chardev = qdict_get_str(qdict, "device");
const char *data = qdict_get_str(qdict, "data");
- Error *errp = NULL;
+ Error *err = NULL;
- qmp_ringbuf_write(chardev, data, false, 0, &errp);
+ qmp_ringbuf_write(chardev, data, false, 0, &err);
- hmp_handle_error(mon, &errp);
+ hmp_handle_error(mon, &err);
}
void hmp_ringbuf_read(Monitor *mon, const QDict *qdict)
uint32_t size = qdict_get_int(qdict, "size");
const char *chardev = qdict_get_str(qdict, "device");
char *data;
- Error *errp = NULL;
+ Error *err = NULL;
int i;
- data = qmp_ringbuf_read(chardev, size, false, 0, &errp);
- if (errp) {
- monitor_printf(mon, "%s\n", error_get_pretty(errp));
- error_free(errp);
+ data = qmp_ringbuf_read(chardev, size, false, 0, &err);
+ if (err) {
+ monitor_printf(mon, "%s\n", error_get_pretty(err));
+ error_free(err);
return;
}
void hmp_cont(Monitor *mon, const QDict *qdict)
{
BlockInfoList *bdev_list, *bdev;
- Error *errp = NULL;
+ Error *err = NULL;
bdev_list = qmp_query_block(NULL);
for (bdev = bdev_list; bdev; bdev = bdev->next) {
}
}
- qmp_cont(&errp);
- hmp_handle_error(mon, &errp);
+ qmp_cont(&err);
+ hmp_handle_error(mon, &err);
out:
qapi_free_BlockInfoList(bdev_list);
void hmp_inject_nmi(Monitor *mon, const QDict *qdict)
{
- Error *errp = NULL;
+ Error *err = NULL;
- qmp_inject_nmi(&errp);
- hmp_handle_error(mon, &errp);
+ qmp_inject_nmi(&err);
+ hmp_handle_error(mon, &err);
}
void hmp_set_link(Monitor *mon, const QDict *qdict)
{
const char *name = qdict_get_str(qdict, "name");
int up = qdict_get_bool(qdict, "up");
- Error *errp = NULL;
+ Error *err = NULL;
- qmp_set_link(name, up, &errp);
- hmp_handle_error(mon, &errp);
+ qmp_set_link(name, up, &err);
+ hmp_handle_error(mon, &err);
}
void hmp_block_passwd(Monitor *mon, const QDict *qdict)
{
const char *device = qdict_get_str(qdict, "device");
const char *password = qdict_get_str(qdict, "password");
- Error *errp = NULL;
+ Error *err = NULL;
- qmp_block_passwd(true, device, false, NULL, password, &errp);
- hmp_handle_error(mon, &errp);
+ qmp_block_passwd(true, device, false, NULL, password, &err);
+ hmp_handle_error(mon, &err);
}
void hmp_balloon(Monitor *mon, const QDict *qdict)
{
int64_t value = qdict_get_int(qdict, "value");
- Error *errp = NULL;
+ Error *err = NULL;
- qmp_balloon(value, &errp);
- if (errp) {
- monitor_printf(mon, "balloon: %s\n", error_get_pretty(errp));
- error_free(errp);
+ qmp_balloon(value, &err);
+ if (err) {
+ monitor_printf(mon, "balloon: %s\n", error_get_pretty(err));
+ error_free(err);
}
}
{
const char *device = qdict_get_str(qdict, "device");
int64_t size = qdict_get_int(qdict, "size");
- Error *errp = NULL;
+ Error *err = NULL;
- qmp_block_resize(true, device, false, NULL, size, &errp);
- hmp_handle_error(mon, &errp);
+ qmp_block_resize(true, device, false, NULL, size, &err);
+ hmp_handle_error(mon, &err);
}
void hmp_drive_mirror(Monitor *mon, const QDict *qdict)
int reuse = qdict_get_try_bool(qdict, "reuse", 0);
int full = qdict_get_try_bool(qdict, "full", 0);
enum NewImageMode mode;
- Error *errp = NULL;
+ Error *err = NULL;
if (!filename) {
- error_set(&errp, QERR_MISSING_PARAMETER, "target");
- hmp_handle_error(mon, &errp);
+ error_set(&err, QERR_MISSING_PARAMETER, "target");
+ hmp_handle_error(mon, &err);
return;
}
qmp_drive_mirror(device, filename, !!format, format,
full ? MIRROR_SYNC_MODE_FULL : MIRROR_SYNC_MODE_TOP,
true, mode, false, 0, false, 0, false, 0,
- false, 0, false, 0, &errp);
- hmp_handle_error(mon, &errp);
+ false, 0, false, 0, &err);
+ hmp_handle_error(mon, &err);
}
void hmp_drive_backup(Monitor *mon, const QDict *qdict)
int reuse = qdict_get_try_bool(qdict, "reuse", 0);
int full = qdict_get_try_bool(qdict, "full", 0);
enum NewImageMode mode;
- Error *errp = NULL;
+ Error *err = NULL;
if (!filename) {
- error_set(&errp, QERR_MISSING_PARAMETER, "target");
- hmp_handle_error(mon, &errp);
+ error_set(&err, QERR_MISSING_PARAMETER, "target");
+ hmp_handle_error(mon, &err);
return;
}
qmp_drive_backup(device, filename, !!format, format,
full ? MIRROR_SYNC_MODE_FULL : MIRROR_SYNC_MODE_TOP,
- true, mode, false, 0, false, 0, false, 0, &errp);
- hmp_handle_error(mon, &errp);
+ true, mode, false, 0, false, 0, false, 0, &err);
+ hmp_handle_error(mon, &err);
}
void hmp_snapshot_blkdev(Monitor *mon, const QDict *qdict)
const char *format = qdict_get_try_str(qdict, "format");
int reuse = qdict_get_try_bool(qdict, "reuse", 0);
enum NewImageMode mode;
- Error *errp = NULL;
+ Error *err = NULL;
if (!filename) {
/* In the future, if 'snapshot-file' is not specified, the snapshot
will be taken internally. Today it's actually required. */
- error_set(&errp, QERR_MISSING_PARAMETER, "snapshot-file");
- hmp_handle_error(mon, &errp);
+ error_set(&err, QERR_MISSING_PARAMETER, "snapshot-file");
+ hmp_handle_error(mon, &err);
return;
}
qmp_blockdev_snapshot_sync(true, device, false, NULL,
filename, false, NULL,
!!format, format,
- true, mode, &errp);
- hmp_handle_error(mon, &errp);
+ true, mode, &err);
+ hmp_handle_error(mon, &err);
}
void hmp_snapshot_blkdev_internal(Monitor *mon, const QDict *qdict)
{
const char *device = qdict_get_str(qdict, "device");
const char *name = qdict_get_str(qdict, "name");
- Error *errp = NULL;
+ Error *err = NULL;
- qmp_blockdev_snapshot_internal_sync(device, name, &errp);
- hmp_handle_error(mon, &errp);
+ qmp_blockdev_snapshot_internal_sync(device, name, &err);
+ hmp_handle_error(mon, &err);
}
void hmp_snapshot_delete_blkdev_internal(Monitor *mon, const QDict *qdict)
const char *device = qdict_get_str(qdict, "device");
const char *name = qdict_get_str(qdict, "name");
const char *id = qdict_get_try_str(qdict, "id");
- Error *errp = NULL;
+ Error *err = NULL;
qmp_blockdev_snapshot_delete_internal_sync(device, !!id, id,
- true, name, &errp);
- hmp_handle_error(mon, &errp);
+ true, name, &err);
+ hmp_handle_error(mon, &err);
}
void hmp_migrate_cancel(Monitor *mon, const QDict *qdict)
void hmp_dump_guest_memory(Monitor *mon, const QDict *qdict)
{
- Error *errp = NULL;
+ Error *err = NULL;
int paging = qdict_get_try_bool(qdict, "paging", 0);
int zlib = qdict_get_try_bool(qdict, "zlib", 0);
int lzo = qdict_get_try_bool(qdict, "lzo", 0);
char *prot;
if (zlib + lzo + snappy > 1) {
- error_setg(&errp, "only one of '-z|-l|-s' can be set");
- hmp_handle_error(mon, &errp);
+ error_setg(&err, "only one of '-z|-l|-s' can be set");
+ hmp_handle_error(mon, &err);
return;
}
prot = g_strconcat("file:", file, NULL);
qmp_dump_guest_memory(paging, prot, has_begin, begin, has_length, length,
- true, dump_format, &errp);
- hmp_handle_error(mon, &errp);
+ true, dump_format, &err);
+ hmp_handle_error(mon, &err);
g_free(prot);
}
void hmp_getfd(Monitor *mon, const QDict *qdict)
{
const char *fdname = qdict_get_str(qdict, "fdname");
- Error *errp = NULL;
+ Error *err = NULL;
- qmp_getfd(fdname, &errp);
- hmp_handle_error(mon, &errp);
+ qmp_getfd(fdname, &err);
+ hmp_handle_error(mon, &err);
}
void hmp_closefd(Monitor *mon, const QDict *qdict)
{
const char *fdname = qdict_get_str(qdict, "fdname");
- Error *errp = NULL;
+ Error *err = NULL;
- qmp_closefd(fdname, &errp);
- hmp_handle_error(mon, &errp);
+ qmp_closefd(fdname, &err);
+ hmp_handle_error(mon, &err);
}
void hmp_send_key(Monitor *mon, const QDict *qdict)
void hmp_nbd_server_stop(Monitor *mon, const QDict *qdict)
{
- Error *errp = NULL;
+ Error *err = NULL;
- qmp_nbd_server_stop(&errp);
- hmp_handle_error(mon, &errp);
+ qmp_nbd_server_stop(&err);
+ hmp_handle_error(mon, &err);
}
void hmp_cpu_add(Monitor *mon, const QDict *qdict)
bool qmp_command_is_enabled(const QmpCommand *cmd);
const char *qmp_command_name(const QmpCommand *cmd);
bool qmp_has_success_response(const QmpCommand *cmd);
-QObject *qmp_build_error_object(Error *errp);
+QObject *qmp_build_error_object(Error *err);
typedef void (*qmp_cmd_callback_fn)(QmpCommand *cmd, void *opaque);
void qmp_for_each_command(qmp_cmd_callback_fn fn, void *opaque);
return ret;
}
-QObject *qmp_build_error_object(Error *errp)
+QObject *qmp_build_error_object(Error *err)
{
return qobject_from_jsonf("{ 'class': %s, 'desc': %s }",
- ErrorClass_lookup[error_get_class(errp)],
- error_get_pretty(errp));
+ ErrorClass_lookup[error_get_class(err)],
+ error_get_pretty(err));
}
QObject *qmp_dispatch(QObject *request)
const void *unused)
{
TestStruct *p = NULL;
- Error *errp = NULL;
+ Error *err = NULL;
Visitor *v;
v = validate_test_init(data, "{ 'integer': -42, 'boolean': true, 'string': 'foo' }");
- visit_type_TestStruct(v, &p, NULL, &errp);
- g_assert(!errp);
+ visit_type_TestStruct(v, &p, NULL, &err);
+ g_assert(!err);
g_free(p->string);
g_free(p);
}
const void *unused)
{
UserDefNested *udp = NULL;
- Error *errp = NULL;
+ Error *err = NULL;
Visitor *v;
v = validate_test_init(data, "{ 'string0': 'string0', 'dict1': { 'string1': 'string1', 'dict2': { 'userdef1': { 'integer': 42, 'string': 'string' }, 'string2': 'string2'}}}");
- visit_type_UserDefNested(v, &udp, NULL, &errp);
- g_assert(!errp);
+ visit_type_UserDefNested(v, &udp, NULL, &err);
+ g_assert(!err);
qapi_free_UserDefNested(udp);
}
const void *unused)
{
UserDefOneList *head = NULL;
- Error *errp = NULL;
+ Error *err = NULL;
Visitor *v;
v = validate_test_init(data, "[ { 'string': 'string0', 'integer': 42 }, { 'string': 'string1', 'integer': 43 }, { 'string': 'string2', 'integer': 44 } ]");
- visit_type_UserDefOneList(v, &head, NULL, &errp);
- g_assert(!errp);
+ visit_type_UserDefOneList(v, &head, NULL, &err);
+ g_assert(!err);
qapi_free_UserDefOneList(head);
}
{
UserDefUnion *tmp = NULL;
Visitor *v;
- Error *errp = NULL;
+ Error *err = NULL;
v = validate_test_init(data, "{ 'type': 'b', 'integer': 41, 'data' : { 'integer': 42 } }");
- visit_type_UserDefUnion(v, &tmp, NULL, &errp);
- g_assert(!errp);
+ visit_type_UserDefUnion(v, &tmp, NULL, &err);
+ g_assert(!err);
qapi_free_UserDefUnion(tmp);
}
{
UserDefFlatUnion *tmp = NULL;
Visitor *v;
- Error *errp = NULL;
+ Error *err = NULL;
v = validate_test_init(data,
"{ 'enum1': 'value1', "
"'boolean': true }");
/* TODO when generator bug is fixed, add 'integer': 41 */
- visit_type_UserDefFlatUnion(v, &tmp, NULL, &errp);
- g_assert(!errp);
+ visit_type_UserDefFlatUnion(v, &tmp, NULL, &err);
+ g_assert(!err);
qapi_free_UserDefFlatUnion(tmp);
}
{
UserDefAnonUnion *tmp = NULL;
Visitor *v;
- Error *errp = NULL;
+ Error *err = NULL;
v = validate_test_init(data, "42");
- visit_type_UserDefAnonUnion(v, &tmp, NULL, &errp);
- g_assert(!errp);
+ visit_type_UserDefAnonUnion(v, &tmp, NULL, &err);
+ g_assert(!err);
qapi_free_UserDefAnonUnion(tmp);
}
const void *unused)
{
TestStruct *p = NULL;
- Error *errp = NULL;
+ Error *err = NULL;
Visitor *v;
v = validate_test_init(data, "{ 'integer': -42, 'boolean': true, 'string': 'foo', 'extra': 42 }");
- visit_type_TestStruct(v, &p, NULL, &errp);
- g_assert(errp);
+ visit_type_TestStruct(v, &p, NULL, &err);
+ g_assert(err);
if (p) {
g_free(p->string);
}
const void *unused)
{
UserDefNested *udp = NULL;
- Error *errp = NULL;
+ Error *err = NULL;
Visitor *v;
v = validate_test_init(data, "{ 'string0': 'string0', 'dict1': { 'string1': 'string1', 'dict2': { 'userdef1': { 'integer': 42, 'string': 'string', 'extra': [42, 23, {'foo':'bar'}] }, 'string2': 'string2'}}}");
- visit_type_UserDefNested(v, &udp, NULL, &errp);
- g_assert(errp);
+ visit_type_UserDefNested(v, &udp, NULL, &err);
+ g_assert(err);
qapi_free_UserDefNested(udp);
}
const void *unused)
{
UserDefOneList *head = NULL;
- Error *errp = NULL;
+ Error *err = NULL;
Visitor *v;
v = validate_test_init(data, "[ { 'string': 'string0', 'integer': 42 }, { 'string': 'string1', 'integer': 43 }, { 'string': 'string2', 'integer': 44, 'extra': 'ggg' } ]");
- visit_type_UserDefOneList(v, &head, NULL, &errp);
- g_assert(errp);
+ visit_type_UserDefOneList(v, &head, NULL, &err);
+ g_assert(err);
qapi_free_UserDefOneList(head);
}
const void *unused)
{
UserDefUnion *tmp = NULL;
- Error *errp = NULL;
+ Error *err = NULL;
Visitor *v;
v = validate_test_init(data, "{ 'type': 'b', 'data' : { 'integer': 42 } }");
- visit_type_UserDefUnion(v, &tmp, NULL, &errp);
- g_assert(errp);
+ visit_type_UserDefUnion(v, &tmp, NULL, &err);
+ g_assert(err);
qapi_free_UserDefUnion(tmp);
}
const void *unused)
{
UserDefFlatUnion *tmp = NULL;
- Error *errp = NULL;
+ Error *err = NULL;
Visitor *v;
v = validate_test_init(data, "{ 'string': 'c', 'integer': 41, 'boolean': true }");
- visit_type_UserDefFlatUnion(v, &tmp, NULL, &errp);
- g_assert(errp);
+ visit_type_UserDefFlatUnion(v, &tmp, NULL, &err);
+ g_assert(err);
qapi_free_UserDefFlatUnion(tmp);
}
{
UserDefAnonUnion *tmp = NULL;
Visitor *v;
- Error *errp = NULL;
+ Error *err = NULL;
v = validate_test_init(data, "3.14");
- visit_type_UserDefAnonUnion(v, &tmp, NULL, &errp);
- g_assert(errp);
+ visit_type_UserDefAnonUnion(v, &tmp, NULL, &err);
+ g_assert(err);
qapi_free_UserDefAnonUnion(tmp);
}
const void *unused)
{
int64_t res = 0, value = -42;
- Error *errp = NULL;
+ Error *err = NULL;
Visitor *v;
v = visitor_input_test_init(data, "%" PRId64, value);
- visit_type_int(v, &res, NULL, &errp);
- g_assert(!errp);
+ visit_type_int(v, &res, NULL, &err);
+ g_assert(!err);
g_assert_cmpint(res, ==, value);
}
const void *unused)
{
int64_t res = 0;
- Error *errp = NULL;
+ Error *err = NULL;
Visitor *v;
/* this will overflow a Qint/int64, so should be deserialized into
*/
v = visitor_input_test_init(data, "%f", DBL_MAX);
- visit_type_int(v, &res, NULL, &errp);
- g_assert(errp);
- error_free(errp);
+ visit_type_int(v, &res, NULL, &err);
+ g_assert(err);
+ error_free(err);
}
static void test_visitor_in_bool(TestInputVisitorData *data,
const void *unused)
{
- Error *errp = NULL;
+ Error *err = NULL;
bool res = false;
Visitor *v;
v = visitor_input_test_init(data, "true");
- visit_type_bool(v, &res, NULL, &errp);
- g_assert(!errp);
+ visit_type_bool(v, &res, NULL, &err);
+ g_assert(!err);
g_assert_cmpint(res, ==, true);
}
const void *unused)
{
double res = 0, value = 3.14;
- Error *errp = NULL;
+ Error *err = NULL;
Visitor *v;
v = visitor_input_test_init(data, "%f", value);
- visit_type_number(v, &res, NULL, &errp);
- g_assert(!errp);
+ visit_type_number(v, &res, NULL, &err);
+ g_assert(!err);
g_assert_cmpfloat(res, ==, value);
}
const void *unused)
{
char *res = NULL, *value = (char *) "Q E M U";
- Error *errp = NULL;
+ Error *err = NULL;
Visitor *v;
v = visitor_input_test_init(data, "%s", value);
- visit_type_str(v, &res, NULL, &errp);
- g_assert(!errp);
+ visit_type_str(v, &res, NULL, &err);
+ g_assert(!err);
g_assert_cmpstr(res, ==, value);
g_free(res);
static void test_visitor_in_enum(TestInputVisitorData *data,
const void *unused)
{
- Error *errp = NULL;
+ Error *err = NULL;
Visitor *v;
EnumOne i;
v = visitor_input_test_init(data, "%s", EnumOne_lookup[i]);
- visit_type_EnumOne(v, &res, NULL, &errp);
- g_assert(!errp);
+ visit_type_EnumOne(v, &res, NULL, &err);
+ g_assert(!err);
g_assert_cmpint(i, ==, res);
visitor_input_teardown(data, NULL);
const void *unused)
{
TestStruct *p = NULL;
- Error *errp = NULL;
+ Error *err = NULL;
Visitor *v;
v = visitor_input_test_init(data, "{ 'integer': -42, 'boolean': true, 'string': 'foo' }");
- visit_type_TestStruct(v, &p, NULL, &errp);
- g_assert(!errp);
+ visit_type_TestStruct(v, &p, NULL, &err);
+ g_assert(!err);
g_assert_cmpint(p->integer, ==, -42);
g_assert(p->boolean == true);
g_assert_cmpstr(p->string, ==, "foo");
const void *unused)
{
UserDefNested *udp = NULL;
- Error *errp = NULL;
+ Error *err = NULL;
Visitor *v;
v = visitor_input_test_init(data, "{ 'string0': 'string0', 'dict1': { 'string1': 'string1', 'dict2': { 'userdef1': { 'integer': 42, 'string': 'string' }, 'string2': 'string2'}}}");
- visit_type_UserDefNested(v, &udp, NULL, &errp);
- g_assert(!errp);
+ visit_type_UserDefNested(v, &udp, NULL, &err);
+ g_assert(!err);
check_and_free_str(udp->string0, "string0");
check_and_free_str(udp->dict1.string1, "string1");
const void *unused)
{
UserDefOneList *item, *head = NULL;
- Error *errp = NULL;
+ Error *err = NULL;
Visitor *v;
int i;
v = visitor_input_test_init(data, "[ { 'string': 'string0', 'integer': 42 }, { 'string': 'string1', 'integer': 43 }, { 'string': 'string2', 'integer': 44 } ]");
- visit_type_UserDefOneList(v, &head, NULL, &errp);
- g_assert(!errp);
+ visit_type_UserDefOneList(v, &head, NULL, &err);
+ g_assert(!err);
g_assert(head != NULL);
for (i = 0, item = head; item; item = item->next, i++) {
const void *unused)
{
TestStruct *p = NULL;
- Error *errp = NULL;
+ Error *err = NULL;
Visitor *v;
v = visitor_input_test_init(data, "{ 'integer': false, 'boolean': 'foo', 'string': -42 }");
- visit_type_TestStruct(v, &p, NULL, &errp);
- g_assert(errp);
+ visit_type_TestStruct(v, &p, NULL, &err);
+ g_assert(err);
g_assert(p->string == NULL);
- error_free(errp);
+ error_free(err);
g_free(p->string);
g_free(p);
}
const void *unused)
{
int64_t value = -42;
- Error *errp = NULL;
+ Error *err = NULL;
QObject *obj;
- visit_type_int(data->ov, &value, NULL, &errp);
- g_assert(!errp);
+ visit_type_int(data->ov, &value, NULL, &err);
+ g_assert(!err);
obj = qmp_output_get_qobject(data->qov);
g_assert(obj != NULL);
static void test_visitor_out_bool(TestOutputVisitorData *data,
const void *unused)
{
- Error *errp = NULL;
+ Error *err = NULL;
bool value = true;
QObject *obj;
- visit_type_bool(data->ov, &value, NULL, &errp);
- g_assert(!errp);
+ visit_type_bool(data->ov, &value, NULL, &err);
+ g_assert(!err);
obj = qmp_output_get_qobject(data->qov);
g_assert(obj != NULL);
const void *unused)
{
double value = 3.14;
- Error *errp = NULL;
+ Error *err = NULL;
QObject *obj;
- visit_type_number(data->ov, &value, NULL, &errp);
- g_assert(!errp);
+ visit_type_number(data->ov, &value, NULL, &err);
+ g_assert(!err);
obj = qmp_output_get_qobject(data->qov);
g_assert(obj != NULL);
const void *unused)
{
char *string = (char *) "Q E M U";
- Error *errp = NULL;
+ Error *err = NULL;
QObject *obj;
- visit_type_str(data->ov, &string, NULL, &errp);
- g_assert(!errp);
+ visit_type_str(data->ov, &string, NULL, &err);
+ g_assert(!err);
obj = qmp_output_get_qobject(data->qov);
g_assert(obj != NULL);
const void *unused)
{
char *string = NULL;
- Error *errp = NULL;
+ Error *err = NULL;
QObject *obj;
/* A null string should return "" */
- visit_type_str(data->ov, &string, NULL, &errp);
- g_assert(!errp);
+ visit_type_str(data->ov, &string, NULL, &err);
+ g_assert(!err);
obj = qmp_output_get_qobject(data->qov);
g_assert(obj != NULL);
static void test_visitor_out_enum(TestOutputVisitorData *data,
const void *unused)
{
- Error *errp = NULL;
+ Error *err = NULL;
QObject *obj;
EnumOne i;
for (i = 0; i < ENUM_ONE_MAX; i++) {
- visit_type_EnumOne(data->ov, &i, "unused", &errp);
- g_assert(!errp);
+ visit_type_EnumOne(data->ov, &i, "unused", &err);
+ g_assert(!err);
obj = qmp_output_get_qobject(data->qov);
g_assert(obj != NULL);
const void *unused)
{
EnumOne i, bad_values[] = { ENUM_ONE_MAX, -1 };
- Error *errp;
+ Error *err;
for (i = 0; i < ARRAY_SIZE(bad_values) ; i++) {
- errp = NULL;
- visit_type_EnumOne(data->ov, &bad_values[i], "unused", &errp);
- g_assert(errp);
- error_free(errp);
+ err = NULL;
+ visit_type_EnumOne(data->ov, &bad_values[i], "unused", &err);
+ g_assert(err);
+ error_free(err);
}
}
.boolean = false,
.string = (char *) "foo"};
TestStruct *p = &test_struct;
- Error *errp = NULL;
+ Error *err = NULL;
QObject *obj;
QDict *qdict;
- visit_type_TestStruct(data->ov, &p, NULL, &errp);
- g_assert(!errp);
+ visit_type_TestStruct(data->ov, &p, NULL, &err);
+ g_assert(!err);
obj = qmp_output_get_qobject(data->qov);
g_assert(obj != NULL);
const void *unused)
{
int64_t value = 42;
- Error *errp = NULL;
+ Error *err = NULL;
UserDefNested *ud2;
QObject *obj;
QDict *qdict, *dict1, *dict2, *dict3, *userdef;
ud2->dict1.dict3.userdef2->base->integer = value;
ud2->dict1.dict3.string3 = g_strdup(strings[3]);
- visit_type_UserDefNested(data->ov, &ud2, "unused", &errp);
- g_assert(!errp);
+ visit_type_UserDefNested(data->ov, &ud2, "unused", &err);
+ g_assert(!err);
obj = qmp_output_get_qobject(data->qov);
g_assert(obj != NULL);
EnumOne bad_values[] = { ENUM_ONE_MAX, -1 };
UserDefZero b;
UserDefOne u = { .base = &b }, *pu = &u;
- Error *errp;
+ Error *err;
int i;
for (i = 0; i < ARRAY_SIZE(bad_values) ; i++) {
- errp = NULL;
+ err = NULL;
u.has_enum1 = true;
u.enum1 = bad_values[i];
- visit_type_UserDefOne(data->ov, &pu, "unused", &errp);
- g_assert(errp);
- error_free(errp);
+ visit_type_UserDefOne(data->ov, &pu, "unused", &err);
+ g_assert(err);
+ error_free(err);
}
}
const int max_items = 10;
bool value_bool = true;
int value_int = 10;
- Error *errp = NULL;
+ Error *err = NULL;
QListEntry *entry;
QObject *obj;
QList *qlist;
head = p;
}
- visit_type_TestStructList(data->ov, &head, NULL, &errp);
- g_assert(!errp);
+ visit_type_TestStructList(data->ov, &head, NULL, &err);
+ g_assert(!err);
obj = qmp_output_get_qobject(data->qov);
g_assert(obj != NULL);
const void *unused)
{
int64_t res = 0, value = -42;
- Error *errp = NULL;
+ Error *err = NULL;
Visitor *v;
v = visitor_input_test_init(data, "-42");
- visit_type_int(v, &res, NULL, &errp);
- g_assert(!errp);
+ visit_type_int(v, &res, NULL, &err);
+ g_assert(!err);
g_assert_cmpint(res, ==, value);
}
static void test_visitor_in_bool(TestInputVisitorData *data,
const void *unused)
{
- Error *errp = NULL;
+ Error *err = NULL;
bool res = false;
Visitor *v;
v = visitor_input_test_init(data, "true");
- visit_type_bool(v, &res, NULL, &errp);
- g_assert(!errp);
+ visit_type_bool(v, &res, NULL, &err);
+ g_assert(!err);
g_assert_cmpint(res, ==, true);
visitor_input_teardown(data, unused);
v = visitor_input_test_init(data, "yes");
- visit_type_bool(v, &res, NULL, &errp);
- g_assert(!errp);
+ visit_type_bool(v, &res, NULL, &err);
+ g_assert(!err);
g_assert_cmpint(res, ==, true);
visitor_input_teardown(data, unused);
v = visitor_input_test_init(data, "on");
- visit_type_bool(v, &res, NULL, &errp);
- g_assert(!errp);
+ visit_type_bool(v, &res, NULL, &err);
+ g_assert(!err);
g_assert_cmpint(res, ==, true);
visitor_input_teardown(data, unused);
v = visitor_input_test_init(data, "false");
- visit_type_bool(v, &res, NULL, &errp);
- g_assert(!errp);
+ visit_type_bool(v, &res, NULL, &err);
+ g_assert(!err);
g_assert_cmpint(res, ==, false);
visitor_input_teardown(data, unused);
v = visitor_input_test_init(data, "no");
- visit_type_bool(v, &res, NULL, &errp);
- g_assert(!errp);
+ visit_type_bool(v, &res, NULL, &err);
+ g_assert(!err);
g_assert_cmpint(res, ==, false);
visitor_input_teardown(data, unused);
v = visitor_input_test_init(data, "off");
- visit_type_bool(v, &res, NULL, &errp);
- g_assert(!errp);
+ visit_type_bool(v, &res, NULL, &err);
+ g_assert(!err);
g_assert_cmpint(res, ==, false);
}
const void *unused)
{
double res = 0, value = 3.14;
- Error *errp = NULL;
+ Error *err = NULL;
Visitor *v;
v = visitor_input_test_init(data, "3.14");
- visit_type_number(v, &res, NULL, &errp);
- g_assert(!errp);
+ visit_type_number(v, &res, NULL, &err);
+ g_assert(!err);
g_assert_cmpfloat(res, ==, value);
}
const void *unused)
{
char *res = NULL, *value = (char *) "Q E M U";
- Error *errp = NULL;
+ Error *err = NULL;
Visitor *v;
v = visitor_input_test_init(data, value);
- visit_type_str(v, &res, NULL, &errp);
- g_assert(!errp);
+ visit_type_str(v, &res, NULL, &err);
+ g_assert(!err);
g_assert_cmpstr(res, ==, value);
g_free(res);
static void test_visitor_in_enum(TestInputVisitorData *data,
const void *unused)
{
- Error *errp = NULL;
+ Error *err = NULL;
Visitor *v;
EnumOne i;
v = visitor_input_test_init(data, EnumOne_lookup[i]);
- visit_type_EnumOne(v, &res, NULL, &errp);
- g_assert(!errp);
+ visit_type_EnumOne(v, &res, NULL, &err);
+ g_assert(!err);
g_assert_cmpint(i, ==, res);
visitor_input_teardown(data, NULL);
const void *unused)
{
int64_t value = -42;
- Error *errp = NULL;
+ Error *err = NULL;
char *str;
- visit_type_int(data->ov, &value, NULL, &errp);
- g_assert(!errp);
+ visit_type_int(data->ov, &value, NULL, &err);
+ g_assert(!err);
str = string_output_get_string(data->sov);
g_assert(str != NULL);
static void test_visitor_out_bool(TestOutputVisitorData *data,
const void *unused)
{
- Error *errp = NULL;
+ Error *err = NULL;
bool value = true;
char *str;
- visit_type_bool(data->ov, &value, NULL, &errp);
- g_assert(!errp);
+ visit_type_bool(data->ov, &value, NULL, &err);
+ g_assert(!err);
str = string_output_get_string(data->sov);
g_assert(str != NULL);
const void *unused)
{
double value = 3.14;
- Error *errp = NULL;
+ Error *err = NULL;
char *str;
- visit_type_number(data->ov, &value, NULL, &errp);
- g_assert(!errp);
+ visit_type_number(data->ov, &value, NULL, &err);
+ g_assert(!err);
str = string_output_get_string(data->sov);
g_assert(str != NULL);
const void *unused)
{
char *string = (char *) "Q E M U";
- Error *errp = NULL;
+ Error *err = NULL;
char *str;
- visit_type_str(data->ov, &string, NULL, &errp);
- g_assert(!errp);
+ visit_type_str(data->ov, &string, NULL, &err);
+ g_assert(!err);
str = string_output_get_string(data->sov);
g_assert(str != NULL);
const void *unused)
{
char *string = NULL;
- Error *errp = NULL;
+ Error *err = NULL;
char *str;
/* A null string should return "" */
- visit_type_str(data->ov, &string, NULL, &errp);
- g_assert(!errp);
+ visit_type_str(data->ov, &string, NULL, &err);
+ g_assert(!err);
str = string_output_get_string(data->sov);
g_assert(str != NULL);
static void test_visitor_out_enum(TestOutputVisitorData *data,
const void *unused)
{
- Error *errp = NULL;
+ Error *err = NULL;
char *str;
EnumOne i;
for (i = 0; i < ENUM_ONE_MAX; i++) {
- visit_type_EnumOne(data->ov, &i, "unused", &errp);
- g_assert(!errp);
+ visit_type_EnumOne(data->ov, &i, "unused", &err);
+ g_assert(!err);
str = string_output_get_string(data->sov);
g_assert(str != NULL);
const void *unused)
{
EnumOne i, bad_values[] = { ENUM_ONE_MAX, -1 };
- Error *errp;
+ Error *err;
for (i = 0; i < ARRAY_SIZE(bad_values) ; i++) {
- errp = NULL;
- visit_type_EnumOne(data->ov, &bad_values[i], "unused", &errp);
- g_assert(errp);
- error_free(errp);
+ err = NULL;
+ visit_type_EnumOne(data->ov, &bad_values[i], "unused", &err);
+ g_assert(err);
+ error_free(err);
}
}