]> git.proxmox.com Git - mirror_qemu.git/commit - target/i386/cpu.c
qom: Clean up fragile use of error_is_set() in set() methods
authorMarkus Armbruster <armbru@redhat.com>
Fri, 25 Apr 2014 10:44:22 +0000 (12:44 +0200)
committerAndreas Färber <afaerber@suse.de>
Mon, 5 May 2014 17:08:49 +0000 (19:08 +0200)
commit65cd9064e13f2388d3bd9c815826f5db6b0b13ec
tree1a0c27b53afbf5924ffb08482fff7d2f3732c520
parenta7737e4496aa3c1c8c3a4b4b9d5e44875fe21e12
qom: Clean up fragile use of error_is_set() in set() methods

Using error_is_set(ERRP) to find out whether a function failed 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).

I guess the error_is_set(errp) in the ObjectProperty set() methods are
merely fragile right now, because I can't find a call chain that
passes a null errp argument.

Make the code more robust and more obviously correct: receive the
error in a local variable, then propagate it through the parameter.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Andreas Färber <afaerber@suse.de>
backends/rng.c
backends/tpm.c
hw/core/qdev-properties.c
hw/misc/tmp105.c
hw/virtio/virtio-balloon.c
target-i386/cpu.c