[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 07/16] qemu-option: opt_set(): use error_set()
From: |
Luiz Capitulino |
Subject: |
[Qemu-devel] [PATCH 07/16] qemu-option: opt_set(): use error_set() |
Date: |
Fri, 20 Apr 2012 20:37:35 -0300 |
The functions qemu_opt_set() and opts_do_parse() both call opt_set(),
but their callers expect QError semantics. Thus, both functions call
qerro_report_err() to keep the expected semantics.
Signed-off-by: Luiz Capitulino <address@hidden>
---
qemu-option.c | 31 ++++++++++++++++++++-----------
1 file changed, 20 insertions(+), 11 deletions(-)
diff --git a/qemu-option.c b/qemu-option.c
index 3a9a5f8..c54bb21 100644
--- a/qemu-option.c
+++ b/qemu-option.c
@@ -615,8 +615,8 @@ static void qemu_opt_del(QemuOpt *opt)
g_free(opt);
}
-static int opt_set(QemuOpts *opts, const char *name, const char *value,
- bool prepend)
+static void opt_set(QemuOpts *opts, const char *name, const char *value,
+ bool prepend, Error **errp)
{
QemuOpt *opt;
const QemuOptDesc *desc = opts->list->desc;
@@ -632,8 +632,8 @@ static int opt_set(QemuOpts *opts, const char *name, const
char *value,
if (i == 0) {
/* empty list -> allow any */;
} else {
- qerror_report(QERR_INVALID_PARAMETER, name);
- return -1;
+ error_set(errp, QERR_INVALID_PARAMETER, name);
+ return;
}
}
@@ -653,18 +653,23 @@ static int opt_set(QemuOpts *opts, const char *name,
const char *value,
}
qemu_opt_parse(opt, &local_err);
if (error_is_set(&local_err)) {
- qerror_report_err(local_err);
- error_free(local_err);
+ error_propagate(errp, local_err);
qemu_opt_del(opt);
- return -1;
}
-
- return 0;
}
int qemu_opt_set(QemuOpts *opts, const char *name, const char *value)
{
- return opt_set(opts, name, value, false);
+ Error *local_err = NULL;
+
+ opt_set(opts, name, value, false, &local_err);
+ if (error_is_set(&local_err)) {
+ qerror_report_err(local_err);
+ error_free(local_err);
+ return -1;
+ }
+
+ return 0;
}
int qemu_opt_set_bool(QemuOpts *opts, const char *name, bool val)
@@ -850,6 +855,7 @@ static int opts_do_parse(QemuOpts *opts, const char *params,
{
char option[128], value[1024];
const char *p,*pe,*pc;
+ Error *local_err = NULL;
for (p = params; *p != '\0'; p++) {
pe = strchr(p, '=');
@@ -881,7 +887,10 @@ static int opts_do_parse(QemuOpts *opts, const char
*params,
}
if (strcmp(option, "id") != 0) {
/* store and parse */
- if (opt_set(opts, option, value, prepend) == -1) {
+ opt_set(opts, option, value, prepend, &local_err);
+ if (error_is_set(&local_err)) {
+ qerror_report_err(local_err);
+ error_free(local_err);
return -1;
}
}
--
1.7.9.2.384.g4a92a
- [Qemu-devel] [PATCH v2 00/16]: qapi: convert netdev_add & netdev_del, Luiz Capitulino, 2012/04/20
- [Qemu-devel] [PATCH 01/16] qemu-option: qemu_opts_create(): use error_set(), Luiz Capitulino, 2012/04/20
- [Qemu-devel] [PATCH 02/16] qemu-option: parse_option_number(): use error_set(), Luiz Capitulino, 2012/04/20
- [Qemu-devel] [PATCH 03/16] qemu-option: parse_option_bool(): use error_set(), Luiz Capitulino, 2012/04/20
- [Qemu-devel] [PATCH 05/16] qemu-option: qemu_opt_parse(): use error_set(), Luiz Capitulino, 2012/04/20
- [Qemu-devel] [PATCH 04/16] qemu-option: parse_option_size(): use error_set(), Luiz Capitulino, 2012/04/20
- [Qemu-devel] [PATCH 06/16] qemu-option: qemu_opts_validate(): use error_set(), Luiz Capitulino, 2012/04/20
- [Qemu-devel] [PATCH 08/16] qemu-option: introduce qemu_opt_set_err(), Luiz Capitulino, 2012/04/20
- [Qemu-devel] [PATCH 07/16] qemu-option: opt_set(): use error_set(),
Luiz Capitulino <=
- [Qemu-devel] [PATCH 09/16] qemu-option: qemu_opts_from_qdict(): use error_set(), Luiz Capitulino, 2012/04/20
- [Qemu-devel] [PATCH 11/16] qemu-config: find_list(): use error_set(), Luiz Capitulino, 2012/04/20
- [Qemu-devel] [PATCH 10/16] qerror: introduce QERR_INVALID_OPTION_GROUP, Luiz Capitulino, 2012/04/20
- [Qemu-devel] [PATCH 12/16] qemu-config: introduce qemu_find_opts_err(), Luiz Capitulino, 2012/04/20
- [Qemu-devel] [PATCH 14/16] net: net_client_init(): use error_set(), Luiz Capitulino, 2012/04/20
- [Qemu-devel] [PATCH 13/16] net: purge the monitor object from all init functions, Luiz Capitulino, 2012/04/20
- [Qemu-devel] [PATCH 16/16] qapi: convert netdev_del, Luiz Capitulino, 2012/04/20
- [Qemu-devel] [PATCH 15/16] qapi: convert netdev_add, Luiz Capitulino, 2012/04/20