On 10/29/21 18:55, Markus Armbruster wrote:
Markus Armbruster <armbru(a)redhat.com> writes:
> The code to check policy for handling deprecated input is triplicated.
> Factor it out into compat_policy_input_ok() before I mess with it in
> the next commit.
>
> Signed-off-by: Markus Armbruster <armbru(a)redhat.com>
> Reviewed-by: Philippe Mathieu-Daudé <philmd(a)redhat.com>
> ---
> include/qapi/compat-policy.h | 7 +++++
> qapi/qapi-visit-core.c | 18 +++++--------
> qapi/qmp-dispatch.c | 51 +++++++++++++++++++++++++++---------
> qapi/qobject-input-visitor.c | 19 +++-----------
> 4 files changed, 55 insertions(+), 40 deletions(-)
> +bool compat_policy_input_ok(unsigned special_features,
> + const CompatPolicy *policy,
> + ErrorClass error_class,
> + const char *kind, const char *name,
> + Error **errp)
> +{
> + if ((special_features & 1u << QAPI_DEPRECATED)
> + && !compat_policy_input_ok1("Deprecated",
> + policy->deprecated_input,
> + error_class, kind, name, errp)) {
> + return false;
> + }
> + return true;
> +}
> +
> Visitor *qobject_input_visitor_new_qmp(QObject *obj)
> {
> Visitor *v = qobject_input_visitor_new(obj);
I'm moving the new functions along with @compat_policy to qapi-util.c,
so the QAPI visitors survive linking without qmp-dispatch.o.
OK. I am waiting your series to get in before respining my QAPI
sysemu/user series which will re-scramble meson.build here.
Probably too late for this release. Not super important, it just
saves energy avoiding generating / building unused files.