summaryrefslogtreecommitdiff
path: root/grep.c
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2021-11-19 17:06:36 (GMT)
committerJunio C Hamano <gitster@pobox.com>2021-11-19 17:10:27 (GMT)
commite7f3925bed86edf1b79fd18e5600252e445019d1 (patch)
tree79a681ce03ce5028777414f382e36c99393e3093 /grep.c
parentae39ba431ab861548eb60b4bd2e1d8b8813db76f (diff)
downloadgit-e7f3925bed86edf1b79fd18e5600252e445019d1.zip
git-e7f3925bed86edf1b79fd18e5600252e445019d1.tar.gz
git-e7f3925bed86edf1b79fd18e5600252e445019d1.tar.bz2
Revert "grep/pcre2: fix an edge case concerning ascii patterns and UTF-8 data"
This reverts commit ae39ba431ab861548eb60b4bd2e1d8b8813db76f, as it breaks "grep" when looking for a string in non UTF-8 haystack, when linked with certain versions of PCREv2 library. Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'grep.c')
-rw-r--r--grep.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/grep.c b/grep.c
index f6e113e..fe847a0 100644
--- a/grep.c
+++ b/grep.c
@@ -382,10 +382,8 @@ static void compile_pcre2_pattern(struct grep_pat *p, const struct grep_opt *opt
}
options |= PCRE2_CASELESS;
}
- if ((!opt->ignore_locale && !has_non_ascii(p->pattern)) ||
- (!opt->ignore_locale && is_utf8_locale() &&
- has_non_ascii(p->pattern) && !(!opt->ignore_case &&
- (p->fixed || p->is_fixed))))
+ if (!opt->ignore_locale && is_utf8_locale() && has_non_ascii(p->pattern) &&
+ !(!opt->ignore_case && (p->fixed || p->is_fixed)))
options |= (PCRE2_UTF | PCRE2_MATCH_INVALID_UTF);
#ifdef GIT_PCRE2_VERSION_10_36_OR_HIGHER