On 6/24/20 11:43 AM, Markus Armbruster wrote:
When foo(..., &err) is followed by error_propagate(errp, err), we can
often just as well do foo(..., errp). The previous commit did that
for simple cases with Coccinelle. Do it for one more manually.
Signed-off-by: Markus Armbruster <arm...@redhat.com>
---
hw/block/fdc.c | 8 +++-----
1 file changed, 3 insertions(+), 5 deletions(-)
@@ -2566,11 +2566,9 @@ static void fdctrl_connect_drives(FDCtrl *fdctrl,
DeviceState *fdc_dev,
blk_ref(blk);
blk_detach_dev(blk, fdc_dev);
fdctrl->qdev_for_drives[i].blk = NULL;
- qdev_prop_set_drive_err(dev, "drive", blk, &local_err);
+ ok = qdev_prop_set_drive_err(dev, "drive", blk, errp);
blk_unref(blk);
Perhaps some glib g_auto* magic could make this even easier (to mark a
variable to be blk_unref'd when it goes out of scope). But for now,
your pattern is fine.
-
- if (local_err) {
- error_propagate(errp, local_err);
+ if (!ok) {
return;
}
Reviewed-by: Eric Blake <ebl...@redhat.com>
--
Eric Blake, Principal Software Engineer
Red Hat, Inc. +1-919-301-3226
Virtualization: qemu.org | libvirt.org