mirror of
https://github.com/zeek/zeek.git
synced 2025-10-10 10:38:20 +00:00
Remove BroValUnion by hoisting underlying Val subclass values into subclasses
This commit is contained in:
parent
49ca8e2163
commit
7f92a573d2
29 changed files with 632 additions and 512 deletions
|
@ -684,8 +684,8 @@ function string_to_ascii_hex%(s: string%): string
|
|||
function str_smith_waterman%(s1: string, s2: string, params: sw_params%) : sw_substring_vec
|
||||
%{
|
||||
zeek::detail::SWParams sw_params(
|
||||
params->AsRecordVal()->GetField(0)->AsCount(),
|
||||
zeek::detail::SWVariant(params->AsRecordVal()->GetField(1)->AsCount()));
|
||||
params->AsRecordVal()->GetCountField(0),
|
||||
zeek::detail::SWVariant(params->AsRecordVal()->GetCountField(1)));
|
||||
|
||||
auto* subseq = zeek::detail::smith_waterman(s1->AsString(), s2->AsString(), sw_params);
|
||||
auto result = zeek::VectorValPtr{zeek::AdoptRef{}, zeek::detail::Substring::VecToPolicy(subseq)};
|
||||
|
@ -707,12 +707,13 @@ function str_smith_waterman%(s1: string, s2: string, params: sw_params%) : sw_su
|
|||
## .. zeek:see:: split_string split_string1 split_string_all split_string_n
|
||||
function str_split%(s: string, idx: index_vec%): string_vec &deprecated="Remove in v4.1. Use str_split_indices."
|
||||
%{
|
||||
auto idx_v = idx->AsVector();
|
||||
zeek::String::IdxVec indices(idx_v->size());
|
||||
auto idx_v = dynamic_cast<VectorVal*>(idx);
|
||||
auto n = idx_v->Size();
|
||||
zeek::String::IdxVec indices(n);
|
||||
unsigned int i;
|
||||
|
||||
for ( i = 0; i < idx_v->size(); i++ )
|
||||
indices[i] = (*idx_v)[i]->AsCount();
|
||||
for ( i = 0; i < n; i++ )
|
||||
indices[i] = idx_v->CountAt(i);
|
||||
|
||||
zeek::String::Vec* result = s->AsString()->Split(indices);
|
||||
auto result_v = zeek::make_intrusive<zeek::VectorVal>(zeek::id::string_vec);
|
||||
|
@ -745,12 +746,13 @@ function str_split%(s: string, idx: index_vec%): string_vec &deprecated="Remove
|
|||
## .. zeek:see:: split_string split_string1 split_string_all split_string_n
|
||||
function str_split_indices%(s: string, idx: index_vec%): string_vec
|
||||
%{
|
||||
auto idx_v = idx->AsVector();
|
||||
zeek::String::IdxVec indices(idx_v->size());
|
||||
auto idx_v = dynamic_cast<VectorVal*>(idx);
|
||||
auto n = idx_v->Size();
|
||||
zeek::String::IdxVec indices(n);
|
||||
unsigned int i;
|
||||
|
||||
for ( i = 0; i < idx_v->size(); i++ )
|
||||
indices[i] = (*idx_v)[i]->AsCount();
|
||||
for ( i = 0; i < n; i++ )
|
||||
indices[i] = idx_v->CountAt(i);
|
||||
|
||||
zeek::String::Vec* result = s->AsString()->Split(indices);
|
||||
auto result_v = zeek::make_intrusive<zeek::VectorVal>(zeek::id::string_vec);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue