# [PATCH] dir: use fspathncmp() in pl_hashmap_cmp()

2 messages from 2022-10-08 to 2022-10-11. Participants: René Scharfe, Jeff King.
Thread: https://gitlist.dev/t/58585

## René Scharfe, 2022-10-08 11:05

Subject: [PATCH] dir: use fspathncmp() in pl_hashmap_cmp()
Message-ID: <cb6ffcdb-d719-7928-96b8-e46482dd141f@web.de>
URL: https://gitlist.dev/e/cb6ffcdb-d719-7928-96b8-e46482dd141f%40web.de

```
From: Jeff King <peff@peff.net>

Call fspathncmp() instead of open-coding it.  This shortens the code and
makes it less repetitive.

Signed-off-by: René Scharfe <l.s.r@web.de>
---
From https://lore.kernel.org/git/YSv1XZJvYdYj1JtP@coredump.intra.peff.net/

 dir.c | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/dir.c b/dir.c
index 7d56d68355..28f4c6895b 100644
--- a/dir.c
+++ b/dir.c
@@ -669,9 +669,7 @@ int pl_hashmap_cmp(const void *cmp_data UNUSED,
 			 ? ee1->patternlen
 			 : ee2->patternlen;

-	if (ignore_case)
-		return strncasecmp(ee1->pattern, ee2->pattern, min_len);
-	return strncmp(ee1->pattern, ee2->pattern, min_len);
+	return fspathncmp(ee1->pattern, ee2->pattern, min_len);
 }

 static char *dup_and_filter_pattern(const char *pattern)
--
2.38.0

```

## Jeff King, 2022-10-11 00:19

Subject: Re: [PATCH] dir: use fspathncmp() in pl_hashmap_cmp()
Message-ID: <Y0S2hCA/xoV8RWTt@coredump.intra.peff.net>
URL: https://gitlist.dev/e/Y0S2hCA%2FxoV8RWTt%40coredump.intra.peff.net
In-Reply-To: <cb6ffcdb-d719-7928-96b8-e46482dd141f@web.de>

```
On Sat, Oct 08, 2022 at 01:05:43PM +0200, René Scharfe wrote:

> From: Jeff King <peff@peff.net>
> 
> Call fspathncmp() instead of open-coding it.  This shortens the code and
> makes it less repetitive.
> 
> Signed-off-by: René Scharfe <l.s.r@web.de>
> ---
> From https://lore.kernel.org/git/YSv1XZJvYdYj1JtP@coredump.intra.peff.net/

That's an old one. :) Thanks for hanging on to it.

> diff --git a/dir.c b/dir.c
> index 7d56d68355..28f4c6895b 100644
> --- a/dir.c
> +++ b/dir.c
> @@ -669,9 +669,7 @@ int pl_hashmap_cmp(const void *cmp_data UNUSED,
>  			 ? ee1->patternlen
>  			 : ee2->patternlen;
> 
> -	if (ignore_case)
> -		return strncasecmp(ee1->pattern, ee2->pattern, min_len);
> -	return strncmp(ee1->pattern, ee2->pattern, min_len);
> +	return fspathncmp(ee1->pattern, ee2->pattern, min_len);
>  }

Unlike the other one discussed in that thread, where there is a shadow
ignore_case, we decided that this one is a true simplification.

-Peff

```
