aboutsummaryrefslogtreecommitdiff
path: root/util/qemu-option.c
diff options
context:
space:
mode:
authorMarkus Armbruster <armbru@redhat.com>2015-02-12 17:07:34 +0100
committerMarkus Armbruster <armbru@redhat.com>2015-02-26 14:47:49 +0100
commit79087c782e1549a6f9c8303aafc0b74f4e637756 (patch)
tree32261ec7ed405e6118a7e618b0e9f0cf8d248e3a /util/qemu-option.c
parent39101f2511f6adf1ae4380f8d729dba1213b9d7a (diff)
QemuOpts: Convert qemu_opts_set() to Error, fix its use
Return the Error object instead of reporting it with qerror_report_err(). Change callers that assume the function can't fail to pass &error_abort, so that should the assumption ever break, it'll break noisily. Turns out all callers outside its unit test assume that. We could drop the Error ** argument, but that would make the interface less regular, so don't. Signed-off-by: Markus Armbruster <armbru@redhat.com> Reviewed-by: Eric Blake <eblake@redhat.com>
Diffstat (limited to 'util/qemu-option.c')
-rw-r--r--util/qemu-option.c11
1 files changed, 5 insertions, 6 deletions
diff --git a/util/qemu-option.c b/util/qemu-option.c
index c873b6cd9e..56711ca11c 100644
--- a/util/qemu-option.c
+++ b/util/qemu-option.c
@@ -690,19 +690,18 @@ void qemu_opts_loc_restore(QemuOpts *opts)
loc_restore(&opts->loc);
}
-int qemu_opts_set(QemuOptsList *list, const char *id,
- const char *name, const char *value)
+void qemu_opts_set(QemuOptsList *list, const char *id,
+ const char *name, const char *value, Error **errp)
{
QemuOpts *opts;
Error *local_err = NULL;
opts = qemu_opts_create(list, id, 1, &local_err);
if (local_err) {
- qerror_report_err(local_err);
- error_free(local_err);
- return -1;
+ error_propagate(errp, local_err);
+ return;
}
- return qemu_opt_set(opts, name, value);
+ qemu_opt_set_err(opts, name, value, errp);
}
const char *qemu_opts_id(QemuOpts *opts)