mirror of
https://github.com/zeek/zeek.git
synced 2025-10-06 08:38:20 +00:00
Deprecate ListVal::ConvertToSet(), add ListVal::ToSetVal()
This commit is contained in:
parent
2cfbbd8cdb
commit
df65d1e829
4 changed files with 15 additions and 12 deletions
|
@ -297,7 +297,7 @@ IntrusivePtr<TableVal> DNS_Mapping::AddrsSet() {
|
||||||
if ( ! l )
|
if ( ! l )
|
||||||
return empty_addr_set();
|
return empty_addr_set();
|
||||||
|
|
||||||
return {AdoptRef{}, l->ConvertToSet()};
|
return l->ToSetVal();
|
||||||
}
|
}
|
||||||
|
|
||||||
IntrusivePtr<StringVal> DNS_Mapping::Host()
|
IntrusivePtr<StringVal> DNS_Mapping::Host()
|
||||||
|
@ -479,7 +479,7 @@ static IntrusivePtr<TableVal> fake_name_lookup_result(const char* name)
|
||||||
KeyedHash::StaticHash128(name, strlen(name), &hash);
|
KeyedHash::StaticHash128(name, strlen(name), &hash);
|
||||||
auto hv = make_intrusive<ListVal>(TYPE_ADDR);
|
auto hv = make_intrusive<ListVal>(TYPE_ADDR);
|
||||||
hv->Append(new AddrVal(reinterpret_cast<const uint32_t*>(&hash)));
|
hv->Append(new AddrVal(reinterpret_cast<const uint32_t*>(&hash)));
|
||||||
return {AdoptRef{}, hv->ConvertToSet()};
|
return hv->ToSetVal();
|
||||||
}
|
}
|
||||||
|
|
||||||
static const char* fake_text_lookup_result(const char* name)
|
static const char* fake_text_lookup_result(const char* name)
|
||||||
|
@ -715,11 +715,7 @@ void DNS_Mgr::Event(EventHandlerPtr e, DNS_Mapping* dm,
|
||||||
if ( ! e )
|
if ( ! e )
|
||||||
return;
|
return;
|
||||||
|
|
||||||
mgr.Enqueue(e,
|
mgr.Enqueue(e, BuildMappingVal(dm), l1->ToSetVal(), l2->ToSetVal());
|
||||||
BuildMappingVal(dm),
|
|
||||||
IntrusivePtr{AdoptRef{}, l1->ConvertToSet()},
|
|
||||||
IntrusivePtr{AdoptRef{}, l2->ConvertToSet()}
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void DNS_Mgr::Event(EventHandlerPtr e, DNS_Mapping* old_dm, DNS_Mapping* new_dm)
|
void DNS_Mgr::Event(EventHandlerPtr e, DNS_Mapping* old_dm, DNS_Mapping* new_dm)
|
||||||
|
|
|
@ -1226,7 +1226,7 @@ void ListVal::Append(Val* v)
|
||||||
type->AsTypeList()->Append({NewRef{}, v->Type()});
|
type->AsTypeList()->Append({NewRef{}, v->Type()});
|
||||||
}
|
}
|
||||||
|
|
||||||
TableVal* ListVal::ConvertToSet() const
|
IntrusivePtr<TableVal> ListVal::ToSetVal() const
|
||||||
{
|
{
|
||||||
if ( tag == TYPE_ANY )
|
if ( tag == TYPE_ANY )
|
||||||
Internal("conversion of heterogeneous list to set");
|
Internal("conversion of heterogeneous list to set");
|
||||||
|
@ -1235,7 +1235,7 @@ TableVal* ListVal::ConvertToSet() const
|
||||||
IntrusivePtr{NewRef{}, type->AsTypeList()->PureType()});
|
IntrusivePtr{NewRef{}, type->AsTypeList()->PureType()});
|
||||||
set_index->Append(base_type(tag));
|
set_index->Append(base_type(tag));
|
||||||
auto s = make_intrusive<SetType>(std::move(set_index), nullptr);
|
auto s = make_intrusive<SetType>(std::move(set_index), nullptr);
|
||||||
TableVal* t = new TableVal(std::move(s));
|
auto t = make_intrusive<TableVal>(std::move(s));
|
||||||
|
|
||||||
for ( const auto& val : vals )
|
for ( const auto& val : vals )
|
||||||
t->Assign(val, nullptr);
|
t->Assign(val, nullptr);
|
||||||
|
@ -1243,6 +1243,11 @@ TableVal* ListVal::ConvertToSet() const
|
||||||
return t;
|
return t;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
TableVal* ListVal::ConvertToSet() const
|
||||||
|
{
|
||||||
|
return ToSetVal().release();
|
||||||
|
}
|
||||||
|
|
||||||
void ListVal::Describe(ODesc* d) const
|
void ListVal::Describe(ODesc* d) const
|
||||||
{
|
{
|
||||||
if ( d->IsBinary() || d->IsPortable() )
|
if ( d->IsBinary() || d->IsPortable() )
|
||||||
|
|
|
@ -644,6 +644,9 @@ public:
|
||||||
void Append(Val* v);
|
void Append(Val* v);
|
||||||
|
|
||||||
// Returns a Set representation of the list (which must be homogeneous).
|
// Returns a Set representation of the list (which must be homogeneous).
|
||||||
|
IntrusivePtr<TableVal> ToSetVal() const;
|
||||||
|
|
||||||
|
[[deprecated("Remove in v4.1. Use ToSetVal() instead.")]]
|
||||||
TableVal* ConvertToSet() const;
|
TableVal* ConvertToSet() const;
|
||||||
|
|
||||||
const val_list* Vals() const { return &vals; }
|
const val_list* Vals() const { return &vals; }
|
||||||
|
|
|
@ -3525,9 +3525,8 @@ public:
|
||||||
{
|
{
|
||||||
ListVal* lv = new ListVal(TYPE_ADDR);
|
ListVal* lv = new ListVal(TYPE_ADDR);
|
||||||
lv->Append(new AddrVal("0.0.0.0"));
|
lv->Append(new AddrVal("0.0.0.0"));
|
||||||
Val* result = lv->ConvertToSet();
|
auto result = lv->ToSetVal();
|
||||||
trigger->Cache(call, result);
|
trigger->Cache(call, result.get());
|
||||||
Unref(result);
|
|
||||||
Unref(lv);
|
Unref(lv);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue