Re: [PATCH] merge-recursive: use fspathcmp() in path_hashmap_cmp()
On Sun, Aug 29, 2021 at 04:21:21PM -0400, Taylor Blau wrote:
Show 24 quoted lines
> > +++ b/merge-recursive.c
> > @@ -55,10 +55,7 @@ static int path_hashmap_cmp(const void *cmp_data,
> [...]
>
> Looks obviously right to me. I found another spot in
> t/helper/test-hashmap.c:test_entry_cmp() that could be cleaned up in the
> same way. But this looks fine with or without the following diff:
>
> diff --git a/t/helper/test-hashmap.c b/t/helper/test-hashmap.c
> index 36ff07bd4b..ab34bdfecd 100644
> --- a/t/helper/test-hashmap.c
> +++ b/t/helper/test-hashmap.c
> @@ -28,10 +28,7 @@ static int test_entry_cmp(const void *cmp_data,
> e1 = container_of(eptr, const struct test_entry, ent);
> e2 = container_of(entry_or_key, const struct test_entry, ent);
>
> - if (ignore_case)
> - return strcasecmp(e1->key, key ? key : e2->key);
> - else
> - return strcmp(e1->key, key ? key : e2->key);
> + return fspathcmp(e1->key, key ? key : e2->key);
> }
>
> static struct test_entry *alloc_test_entry(unsigned int hash,
diff --git a/dir.c b/dir.c
index 03c4d21267..ee46290cbb 100644
--- a/dir.c
+++ b/dir.c
@@ -669,9 +669,7 @@ int pl_hashmap_cmp(const void *unused_cmp_data,
? 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)
This is fun. :)
-Peff