[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v2 07/22] qapi: Inline QERR_INVALID_PARAMETER_TYPE definition
From: |
Markus Armbruster |
Subject: |
Re: [PATCH v2 07/22] qapi: Inline QERR_INVALID_PARAMETER_TYPE definition (constant param) |
Date: |
Fri, 20 Oct 2023 09:18:09 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/28.2 (gnu/linux) |
Philippe Mathieu-Daudé <philmd@linaro.org> writes:
> Address the comment added in commit 4629ed1e98
> ("qerror: Finally unused, clean up"), from 2015:
>
> /*
> * These macros will go away, please don't use
> * in new code, and do not add new ones!
> */
>
> Mechanical transformation using the following
> coccinelle semantic patch:
>
> @match@
> expression errp;
> constant param;
> constant value;
> @@
> error_setg(errp, QERR_INVALID_PARAMETER_TYPE, param, value);
>
> @script:python strformat depends on match@
> param << match.param;
> value << match.value;
> fixedfmt; // new var
> @@
> fixedfmt = f'"Invalid parameter type for \'{param[1:-1]}\', expected:
> {value[1:-1]}"'
> coccinelle.fixedfmt = cocci.make_ident(fixedfmt)
>
> @replace@
> expression match.errp;
> constant match.param;
> constant match.value;
> identifier strformat.fixedfmt;
> @@
> - error_setg(errp, QERR_INVALID_PARAMETER_TYPE, param, value);
> + error_setg(errp, fixedfmt);
>
> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
> Acked-by: Thomas Huth <thuth@redhat.com>
> ---
> target/arm/arm-qmp-cmds.c | 3 ++-
> target/s390x/cpu_models_sysemu.c | 3 ++-
> 2 files changed, 4 insertions(+), 2 deletions(-)
>
> diff --git a/target/arm/arm-qmp-cmds.c b/target/arm/arm-qmp-cmds.c
> index b53d5efe13..3c99fd8222 100644
> --- a/target/arm/arm-qmp-cmds.c
> +++ b/target/arm/arm-qmp-cmds.c
> @@ -154,7 +154,8 @@ CpuModelExpansionInfo
> *qmp_query_cpu_model_expansion(CpuModelExpansionType type,
> if (model->props) {
> qdict_in = qobject_to(QDict, model->props);
> if (!qdict_in) {
> - error_setg(errp, QERR_INVALID_PARAMETER_TYPE, "props", "dict");
> + error_setg(errp,
> + "Invalid parameter type for 'props', expected: dict");
> return NULL;
> }
> }
> diff --git a/target/s390x/cpu_models_sysemu.c
> b/target/s390x/cpu_models_sysemu.c
> index 63981bf36b..4507714493 100644
> --- a/target/s390x/cpu_models_sysemu.c
> +++ b/target/s390x/cpu_models_sysemu.c
> @@ -111,7 +111,8 @@ static void cpu_model_from_info(S390CPUModel *model,
> const CpuModelInfo *info,
> if (info->props) {
> qdict = qobject_to(QDict, info->props);
> if (!qdict) {
> - error_setg(errp, QERR_INVALID_PARAMETER_TYPE, "props", "dict");
> + error_setg(errp,
> + "Invalid parameter type for 'props', expected: dict");
> return;
> }
> }
The error messages are awful. Your patch makes their awfulness more
visible. Improvement of sorts ;)
- Re: [PATCH v2 01/22] qapi: Inline and remove QERR_BUS_NO_HOTPLUG definition, (continued)
- [PATCH v2 03/22] qapi: Inline and remove QERR_DEVICE_IN_USE definition, Philippe Mathieu-Daudé, 2023/10/05
- [PATCH v2 02/22] qapi: Inline and remove QERR_DEVICE_HAS_NO_MEDIUM definition, Philippe Mathieu-Daudé, 2023/10/05
- [PATCH v2 04/22] qapi: Inline and remove QERR_DEVICE_NO_HOTPLUG definition, Philippe Mathieu-Daudé, 2023/10/05
- [PATCH v2 05/22] qapi: Inline QERR_INVALID_PARAMETER definition (constant parameter), Philippe Mathieu-Daudé, 2023/10/05
- [PATCH v2 07/22] qapi: Inline QERR_INVALID_PARAMETER_TYPE definition (constant param), Philippe Mathieu-Daudé, 2023/10/05
- Re: [PATCH v2 07/22] qapi: Inline QERR_INVALID_PARAMETER_TYPE definition (constant param),
Markus Armbruster <=
- [PATCH v2 06/22] qapi: Inline and remove QERR_INVALID_PARAMETER definition, Philippe Mathieu-Daudé, 2023/10/05
- [PATCH v2 08/22] qapi: Inline QERR_INVALID_PARAMETER_TYPE definition (constant value), Philippe Mathieu-Daudé, 2023/10/05
- [PATCH v2 09/22] qapi: Inline and remove QERR_INVALID_PARAMETER_TYPE definition, Philippe Mathieu-Daudé, 2023/10/05
- [PATCH v2 10/22] qapi: Correct error message for 'vcpu_dirty_limit' parameter, Philippe Mathieu-Daudé, 2023/10/05
- [PATCH v2 11/22] qapi: Inline QERR_INVALID_PARAMETER_VALUE definition (constant value), Philippe Mathieu-Daudé, 2023/10/05