Philippe Mathieu-Daudé <philmd@xxxxxxxxxx> writes: > On 10/26/21 11:46, Markus Armbruster wrote: >> Philippe Mathieu-Daudé <philmd@xxxxxxxxxx> writes: >> >>> On 10/25/21 07:25, Markus Armbruster wrote: >>>> 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@xxxxxxxxxx> >>>> --- >>>> 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(-) >>> >>>> diff --git a/qapi/qmp-dispatch.c b/qapi/qmp-dispatch.c >>>> index 8cca18c891..e29ade134c 100644 >>>> --- a/qapi/qmp-dispatch.c >>>> +++ b/qapi/qmp-dispatch.c >>>> @@ -28,6 +28,40 @@ >>>> >>>> CompatPolicy compat_policy; >>>> >>>> +static bool compat_policy_input_ok1(const char *adjective, >>>> + CompatPolicyInput policy, >>>> + ErrorClass error_class, >>>> + const char *kind, const char *name, >>>> + Error **errp) >>>> +{ >>>> + switch (policy) { >>>> + case COMPAT_POLICY_INPUT_ACCEPT: >>>> + return true; >>>> + case COMPAT_POLICY_INPUT_REJECT: >>>> + error_set(errp, error_class, "%s %s %s disabled by policy", >>>> + adjective, kind, name); >>>> + return false; >>>> + case COMPAT_POLICY_INPUT_CRASH: >>>> + default: >>>> + abort(); >>> >>> g_assert_not_reached() provides a nicer user experience. >> >> I find it hard to care for making the experience of a crash that should >> never ever happen nicer :) > > Well COMPAT_POLICY_INPUT_CRASH can happen... What about: Point. > case COMPAT_POLICY_INPUT_CRASH: > error_printf("%s %s %s disabled by policy", > adjective, kind, name); > abort(); > default: > g_assert_not_reached(); Separate patch. I'd prefer to delay it a bit, to avoid rocking the boat so close to the soft freeze.