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

View file

@ -50,7 +50,7 @@ EnumVal* get_data_type(RecordVal* v, Frame* frame);
* @param v a Bro value. * @param v a Bro value.
* @return a Broker data value if the Bro value could be converted to one. * @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. * Convert a Broker data value to a Bro value.