diff options
author | Markus Armbruster <armbru@redhat.com> | 2015-02-12 17:07:34 +0100 |
---|---|---|
committer | Markus Armbruster <armbru@redhat.com> | 2015-02-26 14:47:49 +0100 |
commit | 79087c782e1549a6f9c8303aafc0b74f4e637756 (patch) | |
tree | 32261ec7ed405e6118a7e618b0e9f0cf8d248e3a /util/qemu-option.c | |
parent | 39101f2511f6adf1ae4380f8d729dba1213b9d7a (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.c | 11 |
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) |