[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v2 13/15] qemu-option: Clean up fragile use of error
From: |
Markus Armbruster |
Subject: |
[Qemu-devel] [PATCH v2 13/15] qemu-option: Clean up fragile use of error_is_set() |
Date: |
Mon, 28 Apr 2014 22:27:52 +0200 |
Using error_is_set(ERRP) to find out whether to bail out due to
previous error is either wrong, fragile, or unnecessarily opaque.
It's wrong when ERRP may be null, because errors go undetected when it
is. It's fragile when proving ERRP non-null involves a non-local
argument. Else, it's unnecessarily opaque (see commit 84d18f0).
The error_is_set(state->errp) in qemu_opts_from_qdict_1() is merely
fragile, because the callers never pass state argument with null
state->errp.
Make the code more robust and more obviously correct: test
*state->errp directly.
Signed-off-by: Markus Armbruster <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
---
util/qemu-option.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/util/qemu-option.c b/util/qemu-option.c
index 8bbc3ad..324e4c5 100644
--- a/util/qemu-option.c
+++ b/util/qemu-option.c
@@ -1036,7 +1036,7 @@ static void qemu_opts_from_qdict_1(const char *key,
QObject *obj, void *opaque)
const char *value;
int n;
- if (!strcmp(key, "id") || error_is_set(state->errp)) {
+ if (!strcmp(key, "id") || *state->errp) {
return;
}
--
1.8.1.4
- [Qemu-devel] [PATCH v2 00/15] qmp qga: Purge error_is_set(), Markus Armbruster, 2014/04/28
- [Qemu-devel] [PATCH v2 04/15] qmp: Consistently name Error ** objects errp, and not err, Markus Armbruster, 2014/04/28
- [Qemu-devel] [PATCH v2 03/15] qga: Consistently name Error ** objects errp, and not err, Markus Armbruster, 2014/04/28
- [Qemu-devel] [PATCH v2 01/15] qmp hmp: Consistently name Error * objects err, and not errp, Markus Armbruster, 2014/04/28
- [Qemu-devel] [PATCH v2 02/15] qga: Consistently name Error ** objects errp, and not err, Markus Armbruster, 2014/04/28
- [Qemu-devel] [PATCH v2 05/15] error: Consistently name Error ** objects errp, and not err, Markus Armbruster, 2014/04/28
- [Qemu-devel] [PATCH v2 08/15] qapi: Drop redundant, unclean error_is_set(), Markus Armbruster, 2014/04/28
- [Qemu-devel] [PATCH v2 13/15] qemu-option: Clean up fragile use of error_is_set(),
Markus Armbruster <=
- [Qemu-devel] [PATCH v2 11/15] qga: Clean up fragile use of error_is_set(), Markus Armbruster, 2014/04/28
- [Qemu-devel] [PATCH v2 10/15] qapi: Clean up fragile use of error_is_set(), Markus Armbruster, 2014/04/28
- [Qemu-devel] [PATCH v2 15/15] qmp: Don't use error_is_set() to suppress additional errors, Markus Armbruster, 2014/04/28
- [Qemu-devel] [PATCH v2 12/15] qga: Drop superfluous error_is_set(), Markus Armbruster, 2014/04/28
- [Qemu-devel] [PATCH v2 07/15] hmp: Guard against misuse of hmp_handle_error(), Markus Armbruster, 2014/04/28
- [Qemu-devel] [PATCH v2 09/15] tests/qapi-schema: Drop superfluous error_is_set(), Markus Armbruster, 2014/04/28