summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarkus Armbruster <armbru@redhat.com>2014-05-02 13:26:40 +0200
committerLuiz Capitulino <lcapitulino@redhat.com>2014-05-09 09:11:31 -0400
commit2767ceec4ed1d6ac9785d9866c80dc7d674a3631 (patch)
tree930b25a811475f6b9a5ebb64e37354bb303fc176
parent5e54769c921a3d8cd8858444f5a3fa62cc44260e (diff)
qemu-option: Clean up fragile use of error_is_set()
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 <armbru@redhat.com> Reviewed-by: Eric Blake <eblake@redhat.com> Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
-rw-r--r--util/qemu-option.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/util/qemu-option.c b/util/qemu-option.c
index 8bbc3ad4a3..324e4c59f7 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;
}