mirror of
https://github.com/zeek/zeek.git
synced 2025-10-02 06:38:20 +00:00
Update all BIFs to return IntrusivePtr instead of Val*
This commit is contained in:
parent
d7be84de97
commit
094d6de979
34 changed files with 275 additions and 281 deletions
|
@ -745,26 +745,22 @@ RecordVal* Manager::MakeEvent(val_list* args, Frame* frame)
|
|||
return rval;
|
||||
}
|
||||
|
||||
RecordVal* data_val;
|
||||
IntrusivePtr<RecordVal> data_val;
|
||||
|
||||
if ( same_type(got_type, bro_broker::DataVal::ScriptDataType()) )
|
||||
{
|
||||
data_val = (*args)[i]->AsRecordVal();
|
||||
Ref(data_val);
|
||||
}
|
||||
data_val = {NewRef{}, (*args)[i]->AsRecordVal()};
|
||||
else
|
||||
data_val = make_data_val((*args)[i]);
|
||||
|
||||
if ( ! data_val->Lookup(0) )
|
||||
{
|
||||
Unref(data_val);
|
||||
rval->Assign(0, nullptr);
|
||||
Error("failed to convert param #%d of type %s to broker data",
|
||||
i, type_name(got_type->Tag()));
|
||||
return rval;
|
||||
}
|
||||
|
||||
arg_vec->Assign(i - 1, data_val);
|
||||
arg_vec->Assign(i - 1, std::move(data_val));
|
||||
}
|
||||
|
||||
return rval;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue