| 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 e5c465b0f152d21194b8ff1424a8b0762b9e2b6b..be9b5844b8f05718929305a388eccb1a117c100a 100644
|
| --- a/third_party/re2/re2/prefilter_tree.cc
|
| +++ b/third_party/re2/re2/prefilter_tree.cc
|
| @@ -8,11 +8,6 @@
|
| #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");
|
| @@ -24,10 +19,10 @@ PrefilterTree::PrefilterTree()
|
| }
|
|
|
| PrefilterTree::~PrefilterTree() {
|
| - for (int i = 0; i < prefilter_vec_.size(); i++)
|
| + for (size_t i = 0; i < prefilter_vec_.size(); i++)
|
| delete prefilter_vec_[i];
|
|
|
| - for (int i = 0; i < entries_.size(); i++)
|
| + for (size_t i = 0; i < entries_.size(); i++)
|
| delete entries_[i].parents;
|
| }
|
|
|
| @@ -48,12 +43,12 @@ static bool KeepPart(Prefilter* prefilter, int level) {
|
|
|
| case Prefilter::ATOM:
|
| return prefilter->atom().size() >=
|
| - FLAGS_filtered_re2_min_atom_len;
|
| + static_cast<size_t>(FLAGS_filtered_re2_min_atom_len);
|
|
|
| case Prefilter::AND: {
|
| int j = 0;
|
| vector<Prefilter*>* subs = prefilter->subs();
|
| - for (int i = 0; i < subs->size(); i++)
|
| + for (size_t i = 0; i < subs->size(); i++)
|
| if (KeepPart((*subs)[i], level + 1))
|
| (*subs)[j++] = (*subs)[i];
|
| else
|
| @@ -64,7 +59,7 @@ static bool KeepPart(Prefilter* prefilter, int level) {
|
| }
|
|
|
| case Prefilter::OR:
|
| - for (int i = 0; i < prefilter->subs()->size(); i++)
|
| + for (size_t i = 0; i < prefilter->subs()->size(); i++)
|
| if (!KeepPart((*prefilter->subs())[i], level + 1))
|
| return false;
|
| return true;
|
| @@ -106,7 +101,7 @@ void PrefilterTree::Compile(vector<string>* atom_vec) {
|
| // 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 (int i = 0; i < entries_.size(); i++) {
|
| + for (size_t 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
|
| @@ -153,7 +148,7 @@ string PrefilterTree::NodeString(Prefilter* node) const {
|
| if (node->op() == Prefilter::ATOM) {
|
| s += node->atom();
|
| } else {
|
| - for (int i = 0; i < node->subs()->size() ; i++) {
|
| + for (size_t i = 0; i < node->subs()->size(); i++) {
|
| if (i > 0)
|
| s += ',';
|
| s += Itoa((*node->subs())[i]->unique_id());
|
| @@ -170,10 +165,10 @@ void PrefilterTree::AssignUniqueIds(vector<string>* atom_vec) {
|
| vector<Prefilter*> v;
|
|
|
| // Add the top level nodes of each regexp prefilter.
|
| - for (int i = 0; i < prefilter_vec_.size(); i++) {
|
| + for (size_t i = 0; i < prefilter_vec_.size(); i++) {
|
| Prefilter* f = prefilter_vec_[i];
|
| if (f == NULL)
|
| - unfiltered_.push_back(i);
|
| + unfiltered_.push_back(static_cast<int>(i));
|
|
|
| // We push NULL also on to v, so that we maintain the
|
| // mapping of index==regexpid for level=0 prefilter nodes.
|
| @@ -181,20 +176,20 @@ void PrefilterTree::AssignUniqueIds(vector<string>* atom_vec) {
|
| }
|
|
|
| // Now add all the descendant nodes.
|
| - for (int i = 0; i < v.size(); i++) {
|
| + for (size_t 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 (int j = 0; j < subs.size(); j++)
|
| + for (size_t j = 0; j < subs.size(); j++)
|
| v.push_back(subs[j]);
|
| }
|
| }
|
|
|
| // Identify unique nodes.
|
| int unique_id = 0;
|
| - for (int i = v.size() - 1; i >= 0; i--) {
|
| + for (int i = static_cast<int>(v.size()) - 1; i >= 0; i--) {
|
| Prefilter *node = v[i];
|
| if (node == NULL)
|
| continue;
|
| @@ -216,7 +211,7 @@ void PrefilterTree::AssignUniqueIds(vector<string>* atom_vec) {
|
| entries_.resize(node_map_.size());
|
|
|
| // Create parent StdIntMap for the entries.
|
| - for (int i = v.size() - 1; i >= 0; i--) {
|
| + for (int i = static_cast<int>(v.size()) - 1; i >= 0; i--) {
|
| Prefilter* prefilter = v[i];
|
| if (prefilter == NULL)
|
| continue;
|
| @@ -229,7 +224,7 @@ void PrefilterTree::AssignUniqueIds(vector<string>* atom_vec) {
|
| }
|
|
|
| // Fill the entries.
|
| - for (int i = v.size() - 1; i >= 0; i--) {
|
| + for (int i = static_cast<int>(v.size()) - 1; i >= 0; i--) {
|
| Prefilter* prefilter = v[i];
|
| if (prefilter == NULL)
|
| continue;
|
| @@ -251,8 +246,8 @@ void PrefilterTree::AssignUniqueIds(vector<string>* atom_vec) {
|
|
|
| case Prefilter::OR:
|
| case Prefilter::AND: {
|
| - std::set<int> uniq_child;
|
| - for (int j = 0; j < prefilter->subs()->size() ; j++) {
|
| + set<int> uniq_child;
|
| + for (size_t j = 0; j < prefilter->subs()->size(); j++) {
|
| Prefilter* child = (*prefilter->subs())[j];
|
| Prefilter* canonical = CanonicalNode(child);
|
| if (canonical == NULL) {
|
| @@ -264,11 +259,13 @@ void PrefilterTree::AssignUniqueIds(vector<string>* atom_vec) {
|
| // 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 ? uniq_child.size() : 1;
|
| + entry->propagate_up_at_count = prefilter->op() == Prefilter::AND
|
| + ? static_cast<int>(uniq_child.size())
|
| + : 1;
|
|
|
| break;
|
| }
|
| @@ -276,13 +273,13 @@ void PrefilterTree::AssignUniqueIds(vector<string>* atom_vec) {
|
| }
|
|
|
| // For top level nodes, populate regexp id.
|
| - for (int i = 0; i < prefilter_vec_.size(); i++) {
|
| + for (size_t 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(i);
|
| + entry->regexps.push_back(static_cast<int>(i));
|
| }
|
| }
|
|
|
| @@ -293,13 +290,13 @@ void PrefilterTree::RegexpsGivenStrings(
|
| regexps->clear();
|
| if (!compiled_) {
|
| LOG(WARNING) << "Compile() not called";
|
| - for (int i = 0; i < prefilter_vec_.size(); ++i)
|
| - regexps->push_back(i);
|
| + for (size_t i = 0; i < prefilter_vec_.size(); ++i)
|
| + regexps->push_back(static_cast<int>(i));
|
| } else {
|
| if (!prefilter_vec_.empty()) {
|
| - IntMap regexps_map(prefilter_vec_.size());
|
| + IntMap regexps_map(static_cast<int>(prefilter_vec_.size()));
|
| vector<int> matched_atom_ids;
|
| - for (int j = 0; j < matched_atoms.size(); j++) {
|
| + for (size_t 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]];
|
| }
|
| @@ -317,15 +314,15 @@ void PrefilterTree::RegexpsGivenStrings(
|
|
|
| void PrefilterTree::PropagateMatch(const vector<int>& atom_ids,
|
| IntMap* regexps) const {
|
| - IntMap count(entries_.size());
|
| - IntMap work(entries_.size());
|
| - for (int i = 0; i < atom_ids.size(); i++)
|
| + IntMap count(static_cast<int>(entries_.size()));
|
| + IntMap work(static_cast<int>(entries_.size()));
|
| + for (size_t 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 (int i = 0; i < entry.regexps.size(); i++) {
|
| + for (size_t i = 0; i < entry.regexps.size(); i++) {
|
| VLOG(10) << "Regexp triggered: " << entry.regexps[i];
|
| regexps->set(entry.regexps[i], 1);
|
| }
|
| @@ -365,7 +362,7 @@ void PrefilterTree::PrintDebugInfo() {
|
| VLOG(10) << "#Unique Atoms: " << atom_index_to_id_.size();
|
| VLOG(10) << "#Unique Nodes: " << entries_.size();
|
|
|
| - for (int i = 0; i < entries_.size(); ++i) {
|
| + for (size_t i = 0; i < entries_.size(); ++i) {
|
| StdIntMap* parents = entries_[i].parents;
|
| const vector<int>& regexps = entries_[i].regexps;
|
| VLOG(10) << "EntryId: " << i
|
| @@ -390,7 +387,7 @@ string PrefilterTree::DebugNodeString(Prefilter* node) const {
|
| // Adding the operation disambiguates AND and OR nodes.
|
| node_string += node->op() == Prefilter::AND ? "AND" : "OR";
|
| node_string += "(";
|
| - for (int i = 0; i < node->subs()->size() ; i++) {
|
| + for (size_t i = 0; i < node->subs()->size(); i++) {
|
| if (i > 0)
|
| node_string += ',';
|
| node_string += Itoa((*node->subs())[i]->unique_id());
|
|
|