Index: third_party/re2/re2/prefilter_tree.cc |
diff --git a/third_party/re2/re2/prefilter_tree.cc b/third_party/re2/re2/prefilter_tree.cc |
index be9b5844b8f05718929305a388eccb1a117c100a..e5c465b0f152d21194b8ff1424a8b0762b9e2b6b 100644 |
--- a/third_party/re2/re2/prefilter_tree.cc |
+++ b/third_party/re2/re2/prefilter_tree.cc |
@@ -8,6 +8,11 @@ |
#include "re2/prefilter_tree.h" |
#include "re2/re2.h" |
+#ifdef WIN32 |
+#include <stdio.h> |
+#define snprintf _snprintf |
+#endif |
+ |
DEFINE_int32(filtered_re2_min_atom_len, |
3, |
"Strings less than this length are not stored as atoms"); |
@@ -19,10 +24,10 @@ |
} |
PrefilterTree::~PrefilterTree() { |
- for (size_t i = 0; i < prefilter_vec_.size(); i++) |
+ for (int i = 0; i < prefilter_vec_.size(); i++) |
delete prefilter_vec_[i]; |
- for (size_t i = 0; i < entries_.size(); i++) |
+ for (int i = 0; i < entries_.size(); i++) |
delete entries_[i].parents; |
} |
@@ -43,12 +48,12 @@ |
case Prefilter::ATOM: |
return prefilter->atom().size() >= |
- static_cast<size_t>(FLAGS_filtered_re2_min_atom_len); |
+ FLAGS_filtered_re2_min_atom_len; |
case Prefilter::AND: { |
int j = 0; |
vector<Prefilter*>* subs = prefilter->subs(); |
- for (size_t i = 0; i < subs->size(); i++) |
+ for (int i = 0; i < subs->size(); i++) |
if (KeepPart((*subs)[i], level + 1)) |
(*subs)[j++] = (*subs)[i]; |
else |
@@ -59,7 +64,7 @@ |
} |
case Prefilter::OR: |
- for (size_t i = 0; i < prefilter->subs()->size(); i++) |
+ for (int i = 0; i < prefilter->subs()->size(); i++) |
if (!KeepPart((*prefilter->subs())[i], level + 1)) |
return false; |
return true; |
@@ -101,7 +106,7 @@ |
// no longer necessary for their parent to trigger; that is, we do |
// not miss out on any regexps triggering by getting rid of a |
// prefilter node. |
- for (size_t i = 0; i < entries_.size(); i++) { |
+ for (int i = 0; i < entries_.size(); i++) { |
StdIntMap* parents = entries_[i].parents; |
if (parents->size() > 8) { |
// This one triggers too many things. If all the parents are AND |
@@ -148,7 +153,7 @@ |
if (node->op() == Prefilter::ATOM) { |
s += node->atom(); |
} else { |
- for (size_t i = 0; i < node->subs()->size(); i++) { |
+ for (int i = 0; i < node->subs()->size() ; i++) { |
if (i > 0) |
s += ','; |
s += Itoa((*node->subs())[i]->unique_id()); |
@@ -165,10 +170,10 @@ |
vector<Prefilter*> v; |
// Add the top level nodes of each regexp prefilter. |
- for (size_t i = 0; i < prefilter_vec_.size(); i++) { |
+ for (int i = 0; i < prefilter_vec_.size(); i++) { |
Prefilter* f = prefilter_vec_[i]; |
if (f == NULL) |
- unfiltered_.push_back(static_cast<int>(i)); |
+ unfiltered_.push_back(i); |
// We push NULL also on to v, so that we maintain the |
// mapping of index==regexpid for level=0 prefilter nodes. |
@@ -176,20 +181,20 @@ |
} |
// Now add all the descendant nodes. |
- for (size_t i = 0; i < v.size(); i++) { |
+ for (int i = 0; i < v.size(); i++) { |
Prefilter* f = v[i]; |
if (f == NULL) |
continue; |
if (f->op() == Prefilter::AND || f->op() == Prefilter::OR) { |
const vector<Prefilter*>& subs = *f->subs(); |
- for (size_t j = 0; j < subs.size(); j++) |
+ for (int j = 0; j < subs.size(); j++) |
v.push_back(subs[j]); |
} |
} |
// Identify unique nodes. |
int unique_id = 0; |
- for (int i = static_cast<int>(v.size()) - 1; i >= 0; i--) { |
+ for (int i = v.size() - 1; i >= 0; i--) { |
Prefilter *node = v[i]; |
if (node == NULL) |
continue; |
@@ -211,7 +216,7 @@ |
entries_.resize(node_map_.size()); |
// Create parent StdIntMap for the entries. |
- for (int i = static_cast<int>(v.size()) - 1; i >= 0; i--) { |
+ for (int i = v.size() - 1; i >= 0; i--) { |
Prefilter* prefilter = v[i]; |
if (prefilter == NULL) |
continue; |
@@ -224,7 +229,7 @@ |
} |
// Fill the entries. |
- for (int i = static_cast<int>(v.size()) - 1; i >= 0; i--) { |
+ for (int i = v.size() - 1; i >= 0; i--) { |
Prefilter* prefilter = v[i]; |
if (prefilter == NULL) |
continue; |
@@ -246,8 +251,8 @@ |
case Prefilter::OR: |
case Prefilter::AND: { |
- set<int> uniq_child; |
- for (size_t j = 0; j < prefilter->subs()->size(); j++) { |
+ std::set<int> uniq_child; |
+ for (int j = 0; j < prefilter->subs()->size() ; j++) { |
Prefilter* child = (*prefilter->subs())[j]; |
Prefilter* canonical = CanonicalNode(child); |
if (canonical == NULL) { |
@@ -259,13 +264,11 @@ |
// To the child, we want to add to parent indices. |
Entry* child_entry = &entries_[child_id]; |
if (child_entry->parents->find(prefilter->unique_id()) == |
- child_entry->parents->end()) { |
+ child_entry->parents->end()) |
(*child_entry->parents)[prefilter->unique_id()] = 1; |
- } |
} |
- entry->propagate_up_at_count = prefilter->op() == Prefilter::AND |
- ? static_cast<int>(uniq_child.size()) |
- : 1; |
+ entry->propagate_up_at_count = |
+ prefilter->op() == Prefilter::AND ? uniq_child.size() : 1; |
break; |
} |
@@ -273,13 +276,13 @@ |
} |
// For top level nodes, populate regexp id. |
- for (size_t i = 0; i < prefilter_vec_.size(); i++) { |
+ for (int i = 0; i < prefilter_vec_.size(); i++) { |
if (prefilter_vec_[i] == NULL) |
continue; |
int id = CanonicalNode(prefilter_vec_[i])->unique_id(); |
DCHECK_LE(0, id); |
Entry* entry = &entries_[id]; |
- entry->regexps.push_back(static_cast<int>(i)); |
+ entry->regexps.push_back(i); |
} |
} |
@@ -290,13 +293,13 @@ |
regexps->clear(); |
if (!compiled_) { |
LOG(WARNING) << "Compile() not called"; |
- for (size_t i = 0; i < prefilter_vec_.size(); ++i) |
- regexps->push_back(static_cast<int>(i)); |
+ for (int i = 0; i < prefilter_vec_.size(); ++i) |
+ regexps->push_back(i); |
} else { |
if (!prefilter_vec_.empty()) { |
- IntMap regexps_map(static_cast<int>(prefilter_vec_.size())); |
+ IntMap regexps_map(prefilter_vec_.size()); |
vector<int> matched_atom_ids; |
- for (size_t j = 0; j < matched_atoms.size(); j++) { |
+ for (int j = 0; j < matched_atoms.size(); j++) { |
matched_atom_ids.push_back(atom_index_to_id_[matched_atoms[j]]); |
VLOG(10) << "Atom id:" << atom_index_to_id_[matched_atoms[j]]; |
} |
@@ -314,15 +317,15 @@ |
void PrefilterTree::PropagateMatch(const vector<int>& atom_ids, |
IntMap* regexps) const { |
- IntMap count(static_cast<int>(entries_.size())); |
- IntMap work(static_cast<int>(entries_.size())); |
- for (size_t i = 0; i < atom_ids.size(); i++) |
+ IntMap count(entries_.size()); |
+ IntMap work(entries_.size()); |
+ for (int i = 0; i < atom_ids.size(); i++) |
work.set(atom_ids[i], 1); |
for (IntMap::iterator it = work.begin(); it != work.end(); ++it) { |
const Entry& entry = entries_[it->index()]; |
VLOG(10) << "Processing: " << it->index(); |
// Record regexps triggered. |
- for (size_t i = 0; i < entry.regexps.size(); i++) { |
+ for (int i = 0; i < entry.regexps.size(); i++) { |
VLOG(10) << "Regexp triggered: " << entry.regexps[i]; |
regexps->set(entry.regexps[i], 1); |
} |
@@ -362,7 +365,7 @@ |
VLOG(10) << "#Unique Atoms: " << atom_index_to_id_.size(); |
VLOG(10) << "#Unique Nodes: " << entries_.size(); |
- for (size_t i = 0; i < entries_.size(); ++i) { |
+ for (int i = 0; i < entries_.size(); ++i) { |
StdIntMap* parents = entries_[i].parents; |
const vector<int>& regexps = entries_[i].regexps; |
VLOG(10) << "EntryId: " << i |
@@ -387,7 +390,7 @@ |
// Adding the operation disambiguates AND and OR nodes. |
node_string += node->op() == Prefilter::AND ? "AND" : "OR"; |
node_string += "("; |
- for (size_t i = 0; i < node->subs()->size(); i++) { |
+ for (int i = 0; i < node->subs()->size() ; i++) { |
if (i > 0) |
node_string += ','; |
node_string += Itoa((*node->subs())[i]->unique_id()); |