2022-03-07 09:29:31

by Guo Zhengkui

[permalink] [raw]
Subject: [PATCH] perf tools: fix array_size.cocci warning

Fix the following coccicheck warning:
tools/perf/util/trace-event-parse.c:209:35-36: WARNING: Use ARRAY_SIZE

ARRAY_SIZE(arr) is a macro provided in tools/include/linux/kernel.h,
which not only measures the size of the array, but also makes sure
that `arr` is really an array.

It has been tested with gcc (Debian 8.3.0-6) 8.3.0.

Signed-off-by: Guo Zhengkui <[email protected]>
---
tools/perf/util/trace-event-parse.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/perf/util/trace-event-parse.c b/tools/perf/util/trace-event-parse.c
index 9634f0ae57be..c9c83a40647c 100644
--- a/tools/perf/util/trace-event-parse.c
+++ b/tools/perf/util/trace-event-parse.c
@@ -206,7 +206,7 @@ unsigned long long eval_flag(const char *flag)
if (isdigit(flag[0]))
return strtoull(flag, NULL, 0);

- for (i = 0; i < (int)(sizeof(flags)/sizeof(flags[0])); i++)
+ for (i = 0; i < (int)(ARRAY_SIZE(flags)); i++)
if (strcmp(flags[i].name, flag) == 0)
return flags[i].value;

--
2.20.1


2022-03-08 10:52:16

by Arnaldo Carvalho de Melo

[permalink] [raw]
Subject: Re: [PATCH] perf tools: fix array_size.cocci warning

Em Mon, Mar 07, 2022 at 11:39:59AM +0800, Guo Zhengkui escreveu:
> Fix the following coccicheck warning:
> tools/perf/util/trace-event-parse.c:209:35-36: WARNING: Use ARRAY_SIZE
>
> ARRAY_SIZE(arr) is a macro provided in tools/include/linux/kernel.h,
> which not only measures the size of the array, but also makes sure
> that `arr` is really an array.

Thanks, applied.

> It has been tested with gcc (Debian 8.3.0-6) 8.3.0.
>
> Signed-off-by: Guo Zhengkui <[email protected]>
> ---
> tools/perf/util/trace-event-parse.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/tools/perf/util/trace-event-parse.c b/tools/perf/util/trace-event-parse.c
> index 9634f0ae57be..c9c83a40647c 100644
> --- a/tools/perf/util/trace-event-parse.c
> +++ b/tools/perf/util/trace-event-parse.c
> @@ -206,7 +206,7 @@ unsigned long long eval_flag(const char *flag)
> if (isdigit(flag[0]))
> return strtoull(flag, NULL, 0);
>
> - for (i = 0; i < (int)(sizeof(flags)/sizeof(flags[0])); i++)
> + for (i = 0; i < (int)(ARRAY_SIZE(flags)); i++)
> if (strcmp(flags[i].name, flag) == 0)
> return flags[i].value;
>
> --
> 2.20.1

--

- Arnaldo