Make bro_broker::val_to_data take a const Val* instead of a Val

This commit is contained in:
Johanna Amann 2020-01-23 12:15:38 -08:00
parent 98ad95d00b
commit c306fcf3d7
2 changed files with 5 additions and 5 deletions

View file

@ -791,7 +791,7 @@ IntrusivePtr<Val> bro_broker::data_to_val(broker::data d, BroType* type)
return {caf::visit(val_converter{type}, std::move(d)), false};
}
broker::expected<broker::data> bro_broker::val_to_data(Val* v)
broker::expected<broker::data> bro_broker::val_to_data(const Val* v)
{
switch ( v->Type()->Tag() ) {
case TYPE_BOOL:
@ -856,7 +856,7 @@ broker::expected<broker::data> bro_broker::val_to_data(Val* v)
return {string(v->AsFile()->Name())};
case TYPE_FUNC:
{
Func* f = v->AsFunc();
const Func* f = v->AsFunc();
std::string name(f->Name());
broker::vector rval;
@ -865,7 +865,7 @@ broker::expected<broker::data> bro_broker::val_to_data(Val* v)
if ( name.find("lambda_<") == 0 )
{
// Only BroFuncs have closures.
if ( auto b = dynamic_cast<BroFunc*>(f) )
if ( auto b = dynamic_cast<const BroFunc*>(f) )
{
auto bc = b->SerializeClosure();
if ( ! bc )
@ -1006,7 +1006,7 @@ broker::expected<broker::data> bro_broker::val_to_data(Val* v)
}
case TYPE_PATTERN:
{
RE_Matcher* p = v->AsPattern();
const RE_Matcher* p = v->AsPattern();
broker::vector rval = {p->PatternText(), p->AnywherePatternText()};
return {std::move(rval)};
}

View file

@ -50,7 +50,7 @@ EnumVal* get_data_type(RecordVal* v, Frame* frame);
* @param v a Bro value.
* @return a Broker data value if the Bro value could be converted to one.
*/
broker::expected<broker::data> val_to_data(Val* v);
broker::expected<broker::data> val_to_data(const Val* v);
/**
* Convert a Broker data value to a Bro value.