Use const-ref parameter for zeek::val_list_to_args()

It ended up being used a bit more than initially expected and this
is closer to the style we're generally aiming for.
This commit is contained in:
Jon Siwek 2020-03-26 11:29:29 -07:00
parent 599dda9ae9
commit e7e5cf0f89
7 changed files with 17 additions and 18 deletions

View file

@ -488,7 +488,7 @@ void Connection::Event(EventHandlerPtr f, analyzer::Analyzer* analyzer, Val* v1,
void Connection::ConnectionEvent(EventHandlerPtr f, analyzer::Analyzer* a, val_list vl)
{
auto args = zeek::val_list_to_args(&vl);
auto args = zeek::val_list_to_args(vl);
if ( ! f )
// This may actually happen if there is no local handler
@ -502,13 +502,13 @@ void Connection::ConnectionEvent(EventHandlerPtr f, analyzer::Analyzer* a, val_l
void Connection::ConnectionEventFast(EventHandlerPtr f, analyzer::Analyzer* a, val_list vl)
{
// "this" is passed as a cookie for the event
mgr.Enqueue(f, zeek::val_list_to_args(&vl), SOURCE_LOCAL,
mgr.Enqueue(f, zeek::val_list_to_args(vl), SOURCE_LOCAL,
a ? a->GetID() : 0, this);
}
void Connection::ConnectionEvent(EventHandlerPtr f, analyzer::Analyzer* a, val_list* vl)
{
auto args = zeek::val_list_to_args(vl);
auto args = zeek::val_list_to_args(*vl);
delete vl;
if ( f )

View file

@ -99,14 +99,14 @@ void EventMgr::QueueEventFast(const EventHandlerPtr &h, val_list vl,
SourceID src, analyzer::ID aid, TimerMgr* mgr,
BroObj* obj)
{
QueueEvent(new Event(h, zeek::val_list_to_args(&vl), src, aid, obj));
QueueEvent(new Event(h, zeek::val_list_to_args(vl), src, aid, obj));
}
void EventMgr::QueueEvent(const EventHandlerPtr &h, val_list vl,
SourceID src, analyzer::ID aid,
TimerMgr* mgr, BroObj* obj)
{
auto args = zeek::val_list_to_args(&vl);
auto args = zeek::val_list_to_args(vl);
if ( h )
Enqueue(h, std::move(args), src, aid, obj);
@ -116,7 +116,7 @@ void EventMgr::QueueEvent(const EventHandlerPtr &h, val_list* vl,
SourceID src, analyzer::ID aid,
TimerMgr* mgr, BroObj* obj)
{
auto args = zeek::val_list_to_args(vl);
auto args = zeek::val_list_to_args(*vl);
delete vl;
if ( h )

View file

@ -296,7 +296,7 @@ int BroFunc::IsPure() const
IntrusivePtr<Val> Func::Call(val_list* args, Frame* parent) const
{
return Call(zeek::val_list_to_args(args), parent);
return Call(zeek::val_list_to_args(*args), parent);
}
IntrusivePtr<Val> BroFunc::Call(const zeek::Args& args, Frame* parent) const

View file

@ -2,12 +2,12 @@
#include "IntrusivePtr.h"
#include "Val.h"
zeek::Args zeek::val_list_to_args(const val_list* vl)
zeek::Args zeek::val_list_to_args(const val_list& vl)
{
zeek::Args rval;
rval.reserve(vl->length());
rval.reserve(vl.length());
for ( auto& v : *vl )
for ( auto& v : vl )
rval.emplace_back(AdoptRef{}, v);
return rval;

View file

@ -17,11 +17,10 @@ using Args = std::vector<IntrusivePtr<Val>>;
* Converts a legacy-style argument list for use in modern Zeek function
* calling or event queueing APIs.
* @param vl the argument list to convert, the returned value takes ownership
* of a reference to each element in the list, but not ownership of the list
* itself.
* of a reference to each element in the list
* @return the converted argument list
*
*/
Args val_list_to_args(const val_list* vl);
Args val_list_to_args(const val_list& vl);
} // namespace zeek

View file

@ -803,7 +803,7 @@ void Analyzer::Event(EventHandlerPtr f, Val* v1, Val* v2)
void Analyzer::ConnectionEvent(EventHandlerPtr f, val_list* vl)
{
auto args = zeek::val_list_to_args(vl);
auto args = zeek::val_list_to_args(*vl);
if ( f )
conn->EnqueueEvent(f, this, std::move(args));
@ -811,7 +811,7 @@ void Analyzer::ConnectionEvent(EventHandlerPtr f, val_list* vl)
void Analyzer::ConnectionEvent(EventHandlerPtr f, val_list vl)
{
auto args = zeek::val_list_to_args(&vl);
auto args = zeek::val_list_to_args(vl);
if ( f )
conn->EnqueueEvent(f, this, std::move(args));
@ -819,7 +819,7 @@ void Analyzer::ConnectionEvent(EventHandlerPtr f, val_list vl)
void Analyzer::ConnectionEventFast(EventHandlerPtr f, val_list vl)
{
auto args = zeek::val_list_to_args(&vl);
auto args = zeek::val_list_to_args(vl);
conn->EnqueueEvent(f, this, std::move(args));
}

View file

@ -626,13 +626,13 @@ void File::FileEvent(EventHandlerPtr h)
void File::FileEvent(EventHandlerPtr h, val_list* vl)
{
FileEvent(h, zeek::val_list_to_args(vl));
FileEvent(h, zeek::val_list_to_args(*vl));
delete vl;
}
void File::FileEvent(EventHandlerPtr h, val_list vl)
{
FileEvent(h, zeek::val_list_to_args(&vl));
FileEvent(h, zeek::val_list_to_args(vl));
}
void File::FileEvent(EventHandlerPtr h, zeek::Args args)