Fix a minor bug in Compiler::PostVisit().
Otherwise, it unnecessarily sets foldcase for [ to ` inclusive.
Change-Id: I0d56347c97f3440d6c469ca84d4296f7d7ade540
Reviewed-on: https://code-review.googlesource.com/2475
Reviewed-by: Paul Wankadia <[email protected]>
diff --git a/re2/compile.cc b/re2/compile.cc
index 4d84ef3..6478def 100644
--- a/re2/compile.cc
+++ b/re2/compile.cc
@@ -815,7 +815,8 @@
// If this range contains all of A-Za-z or none of it,
// the fold flag is unnecessary; don't bother.
bool fold = foldascii;
- if ((i->lo <= 'A' && 'z' <= i->hi) || i->hi < 'A' || 'z' < i->lo)
+ if ((i->lo <= 'A' && 'z' <= i->hi) || i->hi < 'A' || 'z' < i->lo ||
+ ('Z' < i->lo && i->hi < 'a'))
fold = false;
AddRuneRange(i->lo, i->hi, fold);