Re: [PATCH/RFC v3 6/8] Add case insensitivity support when using git ls-files
From: Thomas Adam <hidden>
Date: 2016-06-15 22:49:40
Hi -- On 3 October 2010 10:56, Ævar Arnfjörð Bjarmason [off-list ref] wrote:
+ if (ignore_case) {
+ for (;;) {
+ unsigned char c1 = tolower(*match);
+ unsigned char c2 = tolower(*name);
+ if (c1 == '\0' || is_glob_special(c1))
+ break;
+ if (c1 != c2)
+ return 0;
+ match++;
+ name++;
+ namelen--;
+ }
+ } else {
+ for (;;) {
+ unsigned char c1 = *match;
+ unsigned char c2 = *name;
+ if (c1 == '\0' || is_glob_special(c1))
+ break;
+ if (c1 != c2)
+ return 0;
+ match++;
+ name++;
+ namelen--;
+ }
}It's a real shame about the code duplication here. Can we not avoid it just by doing: unsigned char c1 = (ignore_case) ? tolower(*match) : *match; unisgned char c2 = (ignore_case) ? tolower(*name) : *name; I appreciate that to some it might look like perl golf, but... -- Thomas Adam