mirror of
https://github.com/zeek/zeek.git
synced 2025-10-02 14:48:21 +00:00
TablePatternMatcher: Use const StringValPtr& instead of const StringVal*
This commit is contained in:
parent
c426304c27
commit
501b582bc7
5 changed files with 9 additions and 9 deletions
|
@ -2545,7 +2545,7 @@ ValPtr IndexExpr::Fold(Val* v1, Val* v2) const {
|
|||
|
||||
case TYPE_TABLE:
|
||||
if ( is_pattern_table )
|
||||
return v1->AsTableVal()->LookupPattern(v2->AsListVal()->Idx(0)->AsStringVal());
|
||||
return v1->AsTableVal()->LookupPattern({NewRef{}, v2->AsListVal()->Idx(0)->AsStringVal()});
|
||||
|
||||
v = v1->AsTableVal()->FindOrDefault({NewRef{}, v2});
|
||||
break;
|
||||
|
|
|
@ -1440,7 +1440,7 @@ public:
|
|||
|
||||
void Clear() { matcher.reset(); }
|
||||
|
||||
VectorValPtr Lookup(const StringVal* s);
|
||||
VectorValPtr Lookup(const StringValPtr& s);
|
||||
|
||||
private:
|
||||
void Build();
|
||||
|
@ -1463,7 +1463,7 @@ private:
|
|||
std::vector<ValPtr> matcher_yields;
|
||||
};
|
||||
|
||||
VectorValPtr detail::TablePatternMatcher::Lookup(const StringVal* s) {
|
||||
VectorValPtr detail::TablePatternMatcher::Lookup(const StringValPtr& s) {
|
||||
auto results = make_intrusive<VectorVal>(vtype);
|
||||
|
||||
if ( ! matcher ) {
|
||||
|
@ -2016,7 +2016,7 @@ TableValPtr TableVal::LookupSubnetValues(const SubNetVal* search) {
|
|||
return nt;
|
||||
}
|
||||
|
||||
VectorValPtr TableVal::LookupPattern(const StringVal* s) {
|
||||
VectorValPtr TableVal::LookupPattern(const StringValPtr& s) {
|
||||
if ( ! pattern_matcher )
|
||||
reporter->InternalError("LookupPattern called on wrong table type");
|
||||
|
||||
|
|
|
@ -867,7 +867,7 @@ public:
|
|||
// For a table[pattern], return a vector of all yields matching
|
||||
// the given string.
|
||||
// Causes an internal error if called for any other kind of table.
|
||||
VectorValPtr LookupPattern(const StringVal* s);
|
||||
VectorValPtr LookupPattern(const StringValPtr& s);
|
||||
|
||||
// Sets the timestamp for the given index to network time.
|
||||
// Returns false if index does not exist.
|
||||
|
|
|
@ -45,7 +45,7 @@ ValPtr index_table__CPP(const TableValPtr& t, vector<ValPtr> indices) {
|
|||
}
|
||||
|
||||
ValPtr index_patstr_table__CPP(const TableValPtr& t, vector<ValPtr> indices) {
|
||||
return t->LookupPattern(indices[0]->AsStringVal());
|
||||
return t->LookupPattern(cast_intrusive<StringVal>(indices[0]));
|
||||
}
|
||||
|
||||
ValPtr index_vec__CPP(const VectorValPtr& vec, int index) {
|
||||
|
|
|
@ -1061,7 +1061,7 @@ internal-op When-PatStr-Index
|
|||
type VV
|
||||
eval auto args = z.aux->ToListVal(frame);
|
||||
auto arg0 = args->Idx(0);
|
||||
auto v = frame[z.v2].table_val->LookupPattern(arg0->AsStringVal());
|
||||
auto v = frame[z.v2].table_val->LookupPattern({NewRef{}, arg0->AsStringVal()});
|
||||
if ( IndexExprWhen::evaluating > 0 )
|
||||
IndexExprWhen::results.emplace_back(v);
|
||||
AssignV1(BuildVal(v, z.t))
|
||||
|
@ -1081,12 +1081,12 @@ eval EvalTableIndex(z.c.ToVal(z.t))
|
|||
internal-assignment-op Table-PatStr-Index1
|
||||
type VVV
|
||||
assign-val v
|
||||
eval auto v = frame[z.v2].table_val->LookupPattern(frame[z.v3].AsString());
|
||||
eval auto v = frame[z.v2].table_val->LookupPattern({NewRef{}, frame[z.v3].AsString()});
|
||||
|
||||
internal-assignment-op Table-PatStr-Index1
|
||||
type VVC
|
||||
assign-val v
|
||||
eval auto v = frame[z.v2].table_val->LookupPattern(z.c.AsString());
|
||||
eval auto v = frame[z.v2].table_val->LookupPattern({NewRef{}, z.c.AsString()});
|
||||
|
||||
# This version is for a variable v3.
|
||||
internal-op Index-String
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue