Re: perf: Use strcmp(str, "const") instead of strncmp(str, "const", sizeof("const"))

From: Jiri Olsa
Date: Tue Jan 01 2019 - 13:00:57 EST


On Thu, Dec 20, 2018 at 03:55:53PM -0300, Arnaldo Carvalho de Melo wrote:
> Em Thu, Dec 20, 2018 at 12:26:01PM -0500, Steven Rostedt escreveu:
> > As strncmp(str, "const", sizeof("const") is exactly the same as
> > strcmp(str, "const") use that instead, otherwise it is confusing.
> >
> > sizeof("const") includes the nul terminator ('\0') of the string
> > "const", and that means strncmp() will only return a match if str and
> > "const" are exactly the same, which is what strcmp() does.
>
> There are more of those, that are there from time immemorial, lemme see
> if the original intention can be found...
>
> commit 26d330226b9cf6208daae9b0b3697980c8fb51d8
> Author: Jiri Olsa <jolsa@xxxxxxxxxx>
> Date: Tue Aug 7 15:20:47 2012 +0200
>
> perf tools: Support for DWARF mode callchain
>
> ----------------
>
> I thought this could be because at the time strchr was used and thus the
> name would be in a buffer followed by ',' or other separator, but
> strtok_r() was used, so your patch should simplify things.

yea, strtok_r returns null-terminated string containing the next token,
so there's always trailing null terminator.. so those strncmp calls
work properly

jirka