qapi transaction: Elide redundant has_FOO in generated C
commit238e9202a25bbac9dfc3cfc2c87a3c095cb2268c
authorMarkus Armbruster <armbru@redhat.com>
Fri, 4 Nov 2022 16:07:08 +0000 (4 17:07 +0100)
committerMarkus Armbruster <armbru@redhat.com>
Wed, 14 Dec 2022 19:05:07 +0000 (14 20:05 +0100)
tree14a799229d51e92126f9e77a5b1adb4f185beaa9
parentced2939685bb306431c2ffb1620460dfb6093a1a
qapi transaction: Elide redundant has_FOO in generated C

The has_FOO for pointer-valued FOO are redundant, except for arrays.
They are also a nuisance to work with.  Recent commit "qapi: Start to
elide redundant has_FOO in generated C" provided the means to elide
them step by step.  This is the step for qapi/transaction.json.

Said commit explains the transformation in more detail.  The invariant
violations mentioned there do not occur here.

In qmp_transaction(), we can't just drop parameter @has_props, since
it's used to track whether @props needs to be freed.  Replace it by a
local variable.

Cc: Kevin Wolf <kwolf@redhat.com>
Cc: Hanna Reitz <hreitz@redhat.com>
Cc: qemu-block@nongnu.org
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Message-Id: <20221104160712.3005652-27-armbru@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
blockdev.c
scripts/qapi/schema.py