[RFC PATCH 4/7] telemetry: make array initialization more robust
Tyler Retzlaff
roretzla at linux.microsoft.com
Wed Dec 14 18:50:33 CET 2022
On Tue, Dec 13, 2022 at 06:27:27PM +0000, Bruce Richardson wrote:
> Rather than relying on a specific ordering of elements in the array
> matching that of elements in the enum definition, we can explicitly mark
> each array entry using the equivalent enum value as an index.
>
> Signed-off-by: Bruce Richardson <bruce.richardson at intel.com>
> ---
> lib/telemetry/telemetry_data.c | 8 ++++----
> 1 file changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/lib/telemetry/telemetry_data.c b/lib/telemetry/telemetry_data.c
> index d51724e1f5..9a180937fd 100644
> --- a/lib/telemetry/telemetry_data.c
> +++ b/lib/telemetry/telemetry_data.c
> @@ -16,10 +16,10 @@ int
> rte_tel_data_start_array(struct rte_tel_data *d, enum rte_tel_value_type type)
> {
> enum tel_container_types array_types[] = {
> - TEL_ARRAY_STRING, /* RTE_TEL_STRING_VAL = 0 */
> - TEL_ARRAY_INT, /* RTE_TEL_INT_VAL = 1 */
> - TEL_ARRAY_UINT, /* RTE_TEL_UINT_VAL = 2 */
> - TEL_ARRAY_CONTAINER, /* RTE_TEL_CONTAINER = 3 */
> + [RTE_TEL_STRING_VAL] = TEL_ARRAY_STRING,
> + [RTE_TEL_INT_VAL] = TEL_ARRAY_INT,
> + [RTE_TEL_UINT_VAL] = TEL_ARRAY_UINT,
> + [RTE_TEL_CONTAINER] = TEL_ARRAY_CONTAINER,
> };
i might be a bit fuzzy and didn't double check but doesn't doing this
require C99?
though it would be great to move to a minimum of C99/C11
> d->type = array_types[type];
> d->data_len = 0;
> --
> 2.34.1
More information about the dev
mailing list