Re: [PATCH v3 04/13] match_basename: use strncmp instead of strcmp
- From
Antoine Pelisse <apelisse@gmail.com>
- Date
- Mar 12, 2013, 17:40 UTC
- Message-ID
- <CALWbr2w71DsORxsFBBj4N2wzYQomjvCqxGfovbTDjGAT9eASyQ@mail.gmail.com>
- In-Reply-To
- <1363093500-16796-5-git-send-email-pclouds@gmail.com>
Show 18 quoted lines
> --- a/dir.c
> +++ b/dir.c
> @@ -636,12 +636,14 @@ int match_basename(const char *basename, int basenamelen,
> int flags)
> {
> if (prefix == patternlen) {
> - if (!strcmp_icase(pattern, basename))
> + if (patternlen == basenamelen &&
> + !strncmp_icase(pattern, basename, patternlen))
> return 1;
> } else if (flags & EXC_FLAG_ENDSWITH) {
> if (patternlen - 1 <= basenamelen &&
> - !strcmp_icase(pattern + 1,
> - basename + basenamelen - patternlen + 1))
> + !strncmp_icase(pattern + 1,
> + basename + basenamelen - patternlen + 1,
> + patternlen - 1))
> return 1;I can see that you kept strncmp(), was it worse with memcmp() ?