Re: [PATCH] modpost: use strstarts() to clean up parse_source_files()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sat, Feb 8, 2025 at 6:38 PM Nicolas Schier <nicolas@xxxxxxxxx> wrote:
>
> On Sat 08 Feb 2025 02:50:55 GMT, Masahiro Yamada wrote:
> > No functional changes are intended.
> >
> > Signed-off-by: Masahiro Yamada <masahiroy@xxxxxxxxxx>
> > ---
> >
> >  scripts/mod/sumversion.c | 4 ++--
> >  1 file changed, 2 insertions(+), 2 deletions(-)
> >
> > diff --git a/scripts/mod/sumversion.c b/scripts/mod/sumversion.c
> > index e79fc40d852f..3dd28b4d0099 100644
> > --- a/scripts/mod/sumversion.c
> > +++ b/scripts/mod/sumversion.c
> > @@ -330,7 +330,7 @@ static int parse_source_files(const char *objfile, struct md4_ctx *md)
> >                       line++;
> >               p = line;
> >
> > -             if (strncmp(line, "source_", sizeof("source_")-1) == 0) {
> > +             if (strstarts(line, "source_")) {
> >                       p = strrchr(line, ' ');
> >                       if (!p) {
> >                               warn("malformed line: %s\n", line);
> > @@ -344,7 +344,7 @@ static int parse_source_files(const char *objfile, struct md4_ctx *md)
> >                       }
> >                       continue;
> >               }
> > -             if (strncmp(line, "deps_", sizeof("deps_")-1) == 0) {
> > +             if (strstarts(line, "deps_")) {
> >                       check_files = 1;
> >                       continue;
> >               }
> > --
> > 2.43.0
> >
>
> Thanks, looks good to me.
>
> Reviewed-by: Nicolas Schier <nicolas@xxxxxxxxx>
>
> Do you also want to replace the last strncmp() in
> scripts/mod/modpost.c?
>
> diff --git a/scripts/mod/modpost.c b/scripts/mod/modpost.c
> index e18ae7dc8140..31468923cdf6 100644
> --- a/scripts/mod/modpost.c
> +++ b/scripts/mod/modpost.c
> @@ -670,7 +670,7 @@ static char *get_next_modinfo(struct elf_info *info, const char *tag,
>         }
>
>         for (p = modinfo; p; p = next_string(p, &size)) {
> -               if (strncmp(p, tag, taglen) == 0 && p[taglen] == '=')
> +               if (strstarts(p, tag) == 0 && p[taglen] == '=')
>                         return p + taglen + 1;
>         }
>         return NULL;


I believe you meant:

  if (strstarts(p, tag) && p[taglen] == '=')



I do not think there is a strong reason to do so
because taglen is already calculated a few lines above,
but the compiler may be clever enough to avoid
calling strlen() twice. I did not check the compiler output.





-- 
Best Regards
Masahiro Yamada





[Index of Archives]     [Linux&nblp;USB Development]     [Linux Media]     [Video for Linux]     [Linux Audio Users]     [Yosemite Secrets]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux