[RFC PATCH 4/7] telemetry: make array initialization more robust
Bruce Richardson
bruce.richardson at intel.com
Mon Jan 9 13:16:15 CET 2023
On Wed, Dec 14, 2022 at 09:50:33AM -0800, Tyler Retzlaff wrote:
> 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
>
Yep, I agree on version bump.
For the specific array init - we actually already use this style of init
elsewhere in telemetry lib, so I'm going to keep it here in V2, as I
think it is the clearest way to initialize a lookup array like this.
/Bruce
More information about the dev
mailing list